From 1697a801fb875664f7b269260511f5f4126a5e83 Mon Sep 17 00:00:00 2001 From: Arno Töll Date: Thu, 28 Feb 2013 21:57:03 +0100 Subject: Imported Upstream version 2.4.4 --- CHANGES | 210 +- Makefile.in | 2 + Makefile.win | 1 + NOTICE | 2 +- NWGNUmakefile | 1 + acinclude.m4 | 48 +- build/config_vars.sh.in | 2 +- build/installwinconf.awk | 286 +- build/rpm/httpd.spec.in | 16 +- build/rules.mk.in | 29 +- buildconf | 2 +- configure | 712 ++- configure.in | 87 +- docs/cgi-examples/printenv | 13 +- docs/cgi-examples/printenv.vbs | 32 + docs/cgi-examples/printenv.wsf | 33 + docs/cgi-examples/test-cgi | 9 +- docs/conf/extra/httpd-ssl.conf.in | 8 + docs/conf/httpd.conf.in | 20 +- docs/icons/apache_pb.gif | Bin 2326 -> 3315 bytes docs/icons/apache_pb.png | Bin 2088 -> 9691 bytes docs/icons/apache_pb.svg | 5879 ++++++++++++++++++++ docs/icons/apache_pb2.gif | Bin 1797 -> 3361 bytes docs/icons/apache_pb2.png | Bin 1505 -> 10401 bytes docs/icons/apache_pb2_ani.gif | Bin 2434 -> 0 bytes docs/man/ab.1 | 10 +- docs/man/dbmmanage.1 | 5 +- docs/man/htdbm.1 | 46 +- docs/man/htpasswd.1 | 25 +- docs/manual/bind.html.de | 2 +- docs/manual/bind.html.en | 2 +- docs/manual/bind.html.fr | 2 +- docs/manual/bind.html.ja.utf8 | 2 +- docs/manual/bind.html.ko.euc-kr | 2 +- docs/manual/bind.html.tr.utf8 | 44 +- docs/manual/caching.html.en | 2 +- docs/manual/caching.html.fr | 2 +- docs/manual/caching.html.tr.utf8 | 28 +- docs/manual/configuring.html.de | 2 +- docs/manual/configuring.html.en | 2 +- docs/manual/configuring.html.fr | 2 +- docs/manual/configuring.html.ja.utf8 | 2 +- docs/manual/configuring.html.ko.euc-kr | 2 +- docs/manual/configuring.html.tr.utf8 | 6 +- docs/manual/content-negotiation.html.en | 2 +- docs/manual/content-negotiation.html.fr | 2 +- docs/manual/content-negotiation.html.ja.utf8 | 2 +- docs/manual/content-negotiation.html.ko.euc-kr | 2 +- docs/manual/content-negotiation.html.tr.utf8 | 18 +- docs/manual/convenience.map | 4 +- docs/manual/custom-error.html.en | 2 +- docs/manual/custom-error.html.es | 2 +- docs/manual/custom-error.html.fr | 2 +- docs/manual/custom-error.html.ja.utf8 | 2 +- docs/manual/custom-error.html.ko.euc-kr | 2 +- docs/manual/custom-error.html.tr.utf8 | 47 +- docs/manual/developer/API.html.en | 2 +- docs/manual/developer/debugging.html.en | 2 +- docs/manual/developer/documenting.html.en | 2 +- docs/manual/developer/documenting.html.zh-cn | 2 +- docs/manual/developer/filters.html.en | 2 +- docs/manual/developer/hooks.html.en | 66 +- docs/manual/developer/index.html.en | 2 +- docs/manual/developer/index.html.zh-cn | 2 +- docs/manual/developer/modguide.html.en | 4 +- docs/manual/developer/modules.html.en | 2 +- docs/manual/developer/modules.html.ja.utf8 | 2 +- docs/manual/developer/new_api_2_4.html.en | 2 +- docs/manual/developer/output-filters.html.en | 2 +- docs/manual/developer/request.html.en | 20 +- docs/manual/developer/thread_safety.html.en | 2 +- docs/manual/dns-caveats.html.en | 2 +- docs/manual/dns-caveats.html.fr | 2 +- docs/manual/dns-caveats.html.ja.utf8 | 2 +- docs/manual/dns-caveats.html.ko.euc-kr | 2 +- docs/manual/dns-caveats.html.tr.utf8 | 81 +- docs/manual/dso.html.en | 2 +- docs/manual/dso.html.fr | 2 +- docs/manual/dso.html.ja.utf8 | 2 +- docs/manual/dso.html.ko.euc-kr | 2 +- docs/manual/dso.html.tr.utf8 | 2 +- docs/manual/env.html.en | 2 +- docs/manual/env.html.fr | 2 +- docs/manual/env.html.ja.utf8 | 2 +- docs/manual/env.html.ko.euc-kr | 2 +- docs/manual/env.html.tr.utf8 | 96 +- docs/manual/expr.html.en | 58 +- docs/manual/expr.html.fr | 70 +- docs/manual/faq/index.html.en | 2 +- docs/manual/faq/index.html.fr | 2 +- docs/manual/faq/index.html.tr.utf8 | 2 +- docs/manual/faq/index.html.zh-cn | 2 +- docs/manual/filter.html.en | 2 +- docs/manual/filter.html.es | 2 +- docs/manual/filter.html.fr | 2 +- docs/manual/filter.html.ja.utf8 | 2 +- docs/manual/filter.html.ko.euc-kr | 2 +- docs/manual/filter.html.tr.utf8 | 5 +- docs/manual/glossary.html.de | 2 +- docs/manual/glossary.html.en | 2 +- docs/manual/glossary.html.es | 2 +- docs/manual/glossary.html.fr | 2 +- docs/manual/glossary.html.ja.utf8 | 2 +- docs/manual/glossary.html.ko.euc-kr | 2 +- docs/manual/glossary.html.tr.utf8 | 3 +- docs/manual/handler.html.en | 2 +- docs/manual/handler.html.es | 2 +- docs/manual/handler.html.fr | 2 +- docs/manual/handler.html.ja.utf8 | 2 +- docs/manual/handler.html.ko.euc-kr | 2 +- docs/manual/handler.html.tr.utf8 | 28 +- docs/manual/handler.html.zh-cn | 2 +- docs/manual/howto/access.html | 4 + docs/manual/howto/access.html.en | 8 +- docs/manual/howto/access.html.fr | 240 + docs/manual/howto/auth.html.en | 28 +- docs/manual/howto/auth.html.fr | 42 +- docs/manual/howto/auth.html.ja.utf8 | 2 +- docs/manual/howto/auth.html.ko.euc-kr | 2 +- docs/manual/howto/auth.html.tr.utf8 | 2 +- docs/manual/howto/cgi.html.en | 2 +- docs/manual/howto/cgi.html.fr | 9 +- docs/manual/howto/cgi.html.ja.utf8 | 2 +- docs/manual/howto/cgi.html.ko.euc-kr | 2 +- docs/manual/howto/htaccess.html.en | 2 +- docs/manual/howto/htaccess.html.fr | 4 +- docs/manual/howto/htaccess.html.ja.utf8 | 2 +- docs/manual/howto/htaccess.html.ko.euc-kr | 2 +- docs/manual/howto/htaccess.html.pt-br | 2 +- docs/manual/howto/index.html | 4 + docs/manual/howto/index.html.en | 4 +- docs/manual/howto/index.html.fr | 135 + docs/manual/howto/index.html.ja.utf8 | 4 +- docs/manual/howto/index.html.ko.euc-kr | 4 +- docs/manual/howto/index.html.zh-cn | 4 +- docs/manual/howto/public_html.html.en | 2 +- docs/manual/howto/public_html.html.fr | 2 +- docs/manual/howto/public_html.html.ja.utf8 | 2 +- docs/manual/howto/public_html.html.ko.euc-kr | 2 +- docs/manual/howto/public_html.html.tr.utf8 | 2 +- docs/manual/howto/ssi.html.en | 49 +- docs/manual/howto/ssi.html.fr | 45 +- docs/manual/howto/ssi.html.ja.utf8 | 2 +- docs/manual/howto/ssi.html.ko.euc-kr | 2 +- docs/manual/index.html.da | 2 +- docs/manual/index.html.de | 2 +- docs/manual/index.html.en | 2 +- docs/manual/index.html.es | 2 +- docs/manual/index.html.fr | 2 +- docs/manual/index.html.ja.utf8 | 2 +- docs/manual/index.html.ko.euc-kr | 2 +- docs/manual/index.html.pt-br | 2 +- docs/manual/index.html.tr.utf8 | 4 +- docs/manual/index.html.zh-cn | 2 +- docs/manual/install.html.de | 2 +- docs/manual/install.html.en | 4 +- docs/manual/install.html.es | 6 +- docs/manual/install.html.fr | 4 +- docs/manual/install.html.ja.utf8 | 2 +- docs/manual/install.html.ko.euc-kr | 2 +- docs/manual/install.html.tr.utf8 | 5 +- docs/manual/invoking.html.de | 2 +- docs/manual/invoking.html.en | 8 +- docs/manual/invoking.html.es | 2 +- docs/manual/invoking.html.fr | 8 +- docs/manual/invoking.html.ja.utf8 | 2 +- docs/manual/invoking.html.ko.euc-kr | 2 +- docs/manual/invoking.html.tr.utf8 | 11 +- docs/manual/license.html.en | 2 +- docs/manual/logs.html.en | 2 +- docs/manual/logs.html.fr | 2 +- docs/manual/logs.html.ja.utf8 | 2 +- docs/manual/logs.html.ko.euc-kr | 2 +- docs/manual/logs.html.tr.utf8 | 120 +- docs/manual/misc/index.html.en | 2 +- docs/manual/misc/index.html.fr | 2 +- docs/manual/misc/index.html.ko.euc-kr | 2 +- docs/manual/misc/index.html.tr.utf8 | 2 +- docs/manual/misc/index.html.zh-cn | 2 +- docs/manual/misc/password_encryptions.html | 4 + docs/manual/misc/password_encryptions.html.en | 41 +- docs/manual/misc/password_encryptions.html.fr | 265 + docs/manual/misc/perf-tuning.html.en | 4 +- docs/manual/misc/perf-tuning.html.fr | 4 +- docs/manual/misc/perf-tuning.html.ko.euc-kr | 4 +- docs/manual/misc/perf-tuning.html.tr.utf8 | 4 +- docs/manual/misc/relevant_standards.html | 4 + docs/manual/misc/relevant_standards.html.en | 4 +- docs/manual/misc/relevant_standards.html.fr | 251 + docs/manual/misc/relevant_standards.html.ko.euc-kr | 4 +- docs/manual/misc/security_tips.html.en | 2 +- docs/manual/misc/security_tips.html.fr | 2 +- docs/manual/misc/security_tips.html.ko.euc-kr | 2 +- docs/manual/misc/security_tips.html.tr.utf8 | 2 +- docs/manual/mod/core.html.de | 6 +- docs/manual/mod/core.html.en | 46 +- docs/manual/mod/core.html.es | 6 +- docs/manual/mod/core.html.fr | 75 +- docs/manual/mod/core.html.ja.utf8 | 2 +- docs/manual/mod/core.html.tr.utf8 | 2 +- docs/manual/mod/directive-dict.html | 4 + docs/manual/mod/directive-dict.html.en | 4 +- docs/manual/mod/directive-dict.html.fr | 315 ++ docs/manual/mod/directive-dict.html.ja.utf8 | 4 +- docs/manual/mod/directive-dict.html.ko.euc-kr | 4 +- docs/manual/mod/directive-dict.html.tr.utf8 | 4 +- docs/manual/mod/directives.html | 4 + docs/manual/mod/directives.html.de | 9 +- docs/manual/mod/directives.html.en | 9 +- docs/manual/mod/directives.html.es | 9 +- docs/manual/mod/directives.html.fr | 655 +++ docs/manual/mod/directives.html.ja.utf8 | 9 +- docs/manual/mod/directives.html.ko.euc-kr | 9 +- docs/manual/mod/directives.html.tr.utf8 | 9 +- docs/manual/mod/directives.html.zh-cn | 9 +- docs/manual/mod/event.html.en | 2 +- docs/manual/mod/event.html.fr | 7 +- docs/manual/mod/index.html.de | 12 +- docs/manual/mod/index.html.en | 18 +- docs/manual/mod/index.html.es | 18 +- docs/manual/mod/index.html.fr | 171 +- docs/manual/mod/index.html.ja.utf8 | 6 +- docs/manual/mod/index.html.ko.euc-kr | 11 +- docs/manual/mod/index.html.tr.utf8 | 18 +- docs/manual/mod/index.html.zh-cn | 18 +- docs/manual/mod/mod_access_compat.html.en | 2 +- docs/manual/mod/mod_access_compat.html.fr | 2 +- docs/manual/mod/mod_access_compat.html.ja.utf8 | 2 +- docs/manual/mod/mod_actions.html.de | 2 +- docs/manual/mod/mod_actions.html.en | 5 +- docs/manual/mod/mod_actions.html.fr | 4 +- docs/manual/mod/mod_actions.html.ja.utf8 | 2 +- docs/manual/mod/mod_actions.html.ko.euc-kr | 2 +- docs/manual/mod/mod_alias.html.en | 10 +- docs/manual/mod/mod_alias.html.fr | 10 +- docs/manual/mod/mod_alias.html.ja.utf8 | 2 +- docs/manual/mod/mod_alias.html.ko.euc-kr | 2 +- docs/manual/mod/mod_alias.html.tr.utf8 | 2 +- docs/manual/mod/mod_allowmethods.html | 4 + docs/manual/mod/mod_allowmethods.html.en | 8 +- docs/manual/mod/mod_allowmethods.html.fr | 118 + docs/manual/mod/mod_asis.html.en | 2 +- docs/manual/mod/mod_asis.html.fr | 2 +- docs/manual/mod/mod_asis.html.ja.utf8 | 2 +- docs/manual/mod/mod_asis.html.ko.euc-kr | 2 +- docs/manual/mod/mod_auth_basic.html.en | 4 +- docs/manual/mod/mod_auth_basic.html.fr | 4 +- docs/manual/mod/mod_auth_basic.html.ja.utf8 | 2 +- docs/manual/mod/mod_auth_basic.html.ko.euc-kr | 2 +- docs/manual/mod/mod_auth_digest.html.en | 49 +- docs/manual/mod/mod_auth_digest.html.fr | 57 +- docs/manual/mod/mod_auth_digest.html.ko.euc-kr | 2 +- docs/manual/mod/mod_auth_form.html | 4 + docs/manual/mod/mod_auth_form.html.en | 39 +- docs/manual/mod/mod_auth_form.html.fr | 842 +++ docs/manual/mod/mod_authn_anon.html | 4 + docs/manual/mod/mod_authn_anon.html.en | 4 +- docs/manual/mod/mod_authn_anon.html.fr | 262 + docs/manual/mod/mod_authn_anon.html.ja.utf8 | 4 +- docs/manual/mod/mod_authn_anon.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authn_core.html.en | 2 +- docs/manual/mod/mod_authn_core.html.fr | 2 +- docs/manual/mod/mod_authn_dbd.html | 4 + docs/manual/mod/mod_authn_dbd.html.en | 13 +- docs/manual/mod/mod_authn_dbd.html.fr | 255 + docs/manual/mod/mod_authn_dbm.html | 4 + docs/manual/mod/mod_authn_dbm.html.en | 10 +- docs/manual/mod/mod_authn_dbm.html.fr | 180 + docs/manual/mod/mod_authn_dbm.html.ja.utf8 | 4 +- docs/manual/mod/mod_authn_dbm.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authn_file.html.en | 2 +- docs/manual/mod/mod_authn_file.html.fr | 4 +- docs/manual/mod/mod_authn_file.html.ja.utf8 | 2 +- docs/manual/mod/mod_authn_file.html.ko.euc-kr | 2 +- docs/manual/mod/mod_authn_socache.html | 4 + docs/manual/mod/mod_authn_socache.html.en | 8 +- docs/manual/mod/mod_authn_socache.html.fr | 281 + docs/manual/mod/mod_authnz_ldap.html.en | 2 +- docs/manual/mod/mod_authnz_ldap.html.fr | 2 +- docs/manual/mod/mod_authz_core.html | 4 + docs/manual/mod/mod_authz_core.html.en | 24 +- docs/manual/mod/mod_authz_core.html.fr | 675 +++ docs/manual/mod/mod_authz_dbd.html | 4 + docs/manual/mod/mod_authz_dbd.html.en | 8 +- docs/manual/mod/mod_authz_dbd.html.fr | 292 + docs/manual/mod/mod_authz_dbm.html | 4 + docs/manual/mod/mod_authz_dbm.html.en | 4 +- docs/manual/mod/mod_authz_dbm.html.fr | 172 + docs/manual/mod/mod_authz_dbm.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authz_groupfile.html | 4 + docs/manual/mod/mod_authz_groupfile.html.en | 4 +- docs/manual/mod/mod_authz_groupfile.html.fr | 125 + docs/manual/mod/mod_authz_groupfile.html.ja.utf8 | 4 +- docs/manual/mod/mod_authz_groupfile.html.ko.euc-kr | 4 +- docs/manual/mod/mod_authz_host.html.en | 2 +- docs/manual/mod/mod_authz_host.html.fr | 2 +- docs/manual/mod/mod_authz_owner.html.en | 2 +- docs/manual/mod/mod_authz_owner.html.fr | 2 +- docs/manual/mod/mod_authz_owner.html.ja.utf8 | 2 +- docs/manual/mod/mod_authz_owner.html.ko.euc-kr | 2 +- docs/manual/mod/mod_authz_user.html.en | 2 +- docs/manual/mod/mod_authz_user.html.fr | 2 +- docs/manual/mod/mod_authz_user.html.ja.utf8 | 2 +- docs/manual/mod/mod_authz_user.html.ko.euc-kr | 2 +- docs/manual/mod/mod_autoindex.html.en | 2 +- docs/manual/mod/mod_autoindex.html.fr | 2 +- docs/manual/mod/mod_autoindex.html.ja.utf8 | 2 +- docs/manual/mod/mod_autoindex.html.ko.euc-kr | 2 +- docs/manual/mod/mod_autoindex.html.tr.utf8 | 2 +- docs/manual/mod/mod_buffer.html.en | 2 +- docs/manual/mod/mod_buffer.html.fr | 2 +- docs/manual/mod/mod_cache.html.en | 14 +- docs/manual/mod/mod_cache.html.fr | 16 +- docs/manual/mod/mod_cache.html.ja.utf8 | 2 +- docs/manual/mod/mod_cache.html.ko.euc-kr | 2 +- docs/manual/mod/mod_cache_disk.html.en | 2 +- docs/manual/mod/mod_cache_disk.html.fr | 2 +- docs/manual/mod/mod_cache_disk.html.ja.utf8 | 2 +- docs/manual/mod/mod_cache_disk.html.ko.euc-kr | 2 +- docs/manual/mod/mod_cern_meta.html | 4 + docs/manual/mod/mod_cern_meta.html.en | 4 +- docs/manual/mod/mod_cern_meta.html.fr | 162 + docs/manual/mod/mod_cern_meta.html.ko.euc-kr | 4 +- docs/manual/mod/mod_cgi.html | 4 + docs/manual/mod/mod_cgi.html.en | 4 +- docs/manual/mod/mod_cgi.html.fr | 288 + docs/manual/mod/mod_cgi.html.ja.utf8 | 4 +- docs/manual/mod/mod_cgi.html.ko.euc-kr | 4 +- docs/manual/mod/mod_cgid.html | 4 + docs/manual/mod/mod_cgid.html.en | 4 +- docs/manual/mod/mod_cgid.html.fr | 141 + docs/manual/mod/mod_cgid.html.ja.utf8 | 4 +- docs/manual/mod/mod_cgid.html.ko.euc-kr | 4 +- docs/manual/mod/mod_charset_lite.html | 4 + docs/manual/mod/mod_charset_lite.html.en | 4 +- docs/manual/mod/mod_charset_lite.html.fr | 252 + docs/manual/mod/mod_charset_lite.html.ko.euc-kr | 4 +- docs/manual/mod/mod_data.html | 4 + docs/manual/mod/mod_data.html.en | 8 +- docs/manual/mod/mod_data.html.fr | 105 + docs/manual/mod/mod_dav.html | 4 + docs/manual/mod/mod_dav.html.en | 4 +- docs/manual/mod/mod_dav.html.fr | 310 ++ docs/manual/mod/mod_dav.html.ja.utf8 | 4 +- docs/manual/mod/mod_dav.html.ko.euc-kr | 4 +- docs/manual/mod/mod_dav_fs.html | 4 + docs/manual/mod/mod_dav_fs.html.en | 6 +- docs/manual/mod/mod_dav_fs.html.fr | 133 + docs/manual/mod/mod_dav_fs.html.ja.utf8 | 4 +- docs/manual/mod/mod_dav_fs.html.ko.euc-kr | 4 +- docs/manual/mod/mod_dav_lock.html | 4 + docs/manual/mod/mod_dav_lock.html.en | 6 +- docs/manual/mod/mod_dav_lock.html.fr | 137 + docs/manual/mod/mod_dav_lock.html.ja.utf8 | 4 +- docs/manual/mod/mod_dbd.html | 4 + docs/manual/mod/mod_dbd.html.en | 10 +- docs/manual/mod/mod_dbd.html.fr | 398 ++ docs/manual/mod/mod_deflate.html.en | 4 +- docs/manual/mod/mod_deflate.html.fr | 6 +- docs/manual/mod/mod_deflate.html.ja.utf8 | 2 +- docs/manual/mod/mod_deflate.html.ko.euc-kr | 2 +- docs/manual/mod/mod_dialup.html | 4 + docs/manual/mod/mod_dialup.html.en | 8 +- docs/manual/mod/mod_dialup.html.fr | 113 + docs/manual/mod/mod_dir.html.en | 18 +- docs/manual/mod/mod_dir.html.fr | 29 +- docs/manual/mod/mod_dir.html.ja.utf8 | 2 +- docs/manual/mod/mod_dir.html.ko.euc-kr | 2 +- docs/manual/mod/mod_dir.html.tr.utf8 | 2 +- docs/manual/mod/mod_dumpio.html.en | 2 +- docs/manual/mod/mod_dumpio.html.fr | 2 +- docs/manual/mod/mod_dumpio.html.ja.utf8 | 2 +- docs/manual/mod/mod_echo.html.en | 7 +- docs/manual/mod/mod_echo.html.fr | 7 +- docs/manual/mod/mod_echo.html.ja.utf8 | 2 +- docs/manual/mod/mod_echo.html.ko.euc-kr | 2 +- docs/manual/mod/mod_env.html.en | 2 +- docs/manual/mod/mod_env.html.fr | 8 +- docs/manual/mod/mod_env.html.ja.utf8 | 2 +- docs/manual/mod/mod_env.html.ko.euc-kr | 2 +- docs/manual/mod/mod_env.html.tr.utf8 | 2 +- docs/manual/mod/mod_example.html | 4 + docs/manual/mod/mod_example.html.en | 4 +- docs/manual/mod/mod_example.html.fr | 196 + docs/manual/mod/mod_example.html.ko.euc-kr | 4 +- docs/manual/mod/mod_expires.html.en | 2 +- docs/manual/mod/mod_expires.html.fr | 2 +- docs/manual/mod/mod_expires.html.ja.utf8 | 2 +- docs/manual/mod/mod_expires.html.ko.euc-kr | 2 +- docs/manual/mod/mod_ext_filter.html | 4 + docs/manual/mod/mod_ext_filter.html.en | 4 +- docs/manual/mod/mod_ext_filter.html.fr | 387 ++ docs/manual/mod/mod_ext_filter.html.ja.utf8 | 4 +- docs/manual/mod/mod_ext_filter.html.ko.euc-kr | 4 +- docs/manual/mod/mod_file_cache.html | 4 + docs/manual/mod/mod_file_cache.html.en | 4 +- docs/manual/mod/mod_file_cache.html.fr | 271 + docs/manual/mod/mod_file_cache.html.ko.euc-kr | 4 +- docs/manual/mod/mod_filter.html | 4 + docs/manual/mod/mod_filter.html.en | 10 +- docs/manual/mod/mod_filter.html.fr | 569 ++ docs/manual/mod/mod_headers.html.en | 21 +- docs/manual/mod/mod_headers.html.fr | 45 +- docs/manual/mod/mod_headers.html.ja.utf8 | 2 +- docs/manual/mod/mod_headers.html.ko.euc-kr | 2 +- docs/manual/mod/mod_heartbeat.html.en | 4 +- docs/manual/mod/mod_heartmonitor.html.en | 4 +- docs/manual/mod/mod_ident.html.en | 2 +- docs/manual/mod/mod_ident.html.fr | 2 +- docs/manual/mod/mod_ident.html.ja.utf8 | 2 +- docs/manual/mod/mod_ident.html.ko.euc-kr | 2 +- docs/manual/mod/mod_imagemap.html.en | 3 +- docs/manual/mod/mod_imagemap.html.ko.euc-kr | 2 +- docs/manual/mod/mod_include.html.en | 89 +- docs/manual/mod/mod_include.html.ja.utf8 | 2 +- docs/manual/mod/mod_info.html.en | 4 +- docs/manual/mod/mod_info.html.fr | 10 +- docs/manual/mod/mod_info.html.ja.utf8 | 2 +- docs/manual/mod/mod_info.html.ko.euc-kr | 2 +- docs/manual/mod/mod_isapi.html | 4 + docs/manual/mod/mod_isapi.html.en | 4 +- docs/manual/mod/mod_isapi.html.fr | 394 ++ docs/manual/mod/mod_isapi.html.ko.euc-kr | 4 +- docs/manual/mod/mod_lbmethod_bybusyness.html | 4 + docs/manual/mod/mod_lbmethod_bybusyness.html.en | 8 +- docs/manual/mod/mod_lbmethod_bybusyness.html.fr | 107 + docs/manual/mod/mod_lbmethod_byrequests.html | 4 + docs/manual/mod/mod_lbmethod_byrequests.html.en | 8 +- docs/manual/mod/mod_lbmethod_byrequests.html.fr | 262 + docs/manual/mod/mod_lbmethod_bytraffic.html | 4 + docs/manual/mod/mod_lbmethod_bytraffic.html.en | 8 +- docs/manual/mod/mod_lbmethod_bytraffic.html.fr | 123 + docs/manual/mod/mod_lbmethod_heartbeat.html | 4 + docs/manual/mod/mod_lbmethod_heartbeat.html.en | 8 +- docs/manual/mod/mod_lbmethod_heartbeat.html.fr | 107 + docs/manual/mod/mod_ldap.html.en | 9 +- docs/manual/mod/mod_ldap.html.fr | 20 +- docs/manual/mod/mod_log_config.html.en | 6 +- docs/manual/mod/mod_log_config.html.ja.utf8 | 2 +- docs/manual/mod/mod_log_config.html.ko.euc-kr | 2 +- docs/manual/mod/mod_log_config.html.tr.utf8 | 2 +- docs/manual/mod/mod_log_debug.html.en | 12 +- docs/manual/mod/mod_log_forensic.html.en | 2 +- docs/manual/mod/mod_log_forensic.html.fr | 2 +- docs/manual/mod/mod_log_forensic.html.ja.utf8 | 2 +- docs/manual/mod/mod_log_forensic.html.tr.utf8 | 2 +- docs/manual/mod/mod_logio.html | 4 + docs/manual/mod/mod_logio.html.en | 4 +- docs/manual/mod/mod_logio.html.fr | 130 + docs/manual/mod/mod_logio.html.ja.utf8 | 4 +- docs/manual/mod/mod_logio.html.ko.euc-kr | 4 +- docs/manual/mod/mod_logio.html.tr.utf8 | 4 +- docs/manual/mod/mod_lua.html.en | 307 +- docs/manual/mod/mod_lua.html.fr | 378 +- docs/manual/mod/mod_mime.html.en | 16 +- docs/manual/mod/mod_mime.html.ja.utf8 | 2 +- docs/manual/mod/mod_mime_magic.html.en | 2 +- docs/manual/mod/mod_negotiation.html.en | 3 +- docs/manual/mod/mod_negotiation.html.fr | 3 +- docs/manual/mod/mod_negotiation.html.ja.utf8 | 2 +- docs/manual/mod/mod_nw_ssl.html | 4 + docs/manual/mod/mod_nw_ssl.html.en | 8 +- docs/manual/mod/mod_nw_ssl.html.fr | 127 + docs/manual/mod/mod_privileges.html | 4 + docs/manual/mod/mod_privileges.html.en | 9 +- docs/manual/mod/mod_privileges.html.fr | 476 ++ docs/manual/mod/mod_proxy.html.en | 52 +- docs/manual/mod/mod_proxy.html.fr | 412 +- docs/manual/mod/mod_proxy.html.ja.utf8 | 17 +- docs/manual/mod/mod_proxy_ajp.html | 4 + docs/manual/mod/mod_proxy_ajp.html.en | 4 +- docs/manual/mod/mod_proxy_ajp.html.fr | 690 +++ docs/manual/mod/mod_proxy_ajp.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_balancer.html | 4 + docs/manual/mod/mod_proxy_balancer.html.en | 32 +- docs/manual/mod/mod_proxy_balancer.html.fr | 401 ++ docs/manual/mod/mod_proxy_balancer.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_connect.html | 4 + docs/manual/mod/mod_proxy_connect.html.en | 4 +- docs/manual/mod/mod_proxy_connect.html.fr | 141 + docs/manual/mod/mod_proxy_connect.html.ja.utf8 | 4 +- docs/manual/mod/mod_proxy_express.html | 4 + docs/manual/mod/mod_proxy_express.html.en | 8 +- docs/manual/mod/mod_proxy_express.html.fr | 203 + docs/manual/mod/mod_proxy_fcgi.html.en | 2 +- docs/manual/mod/mod_proxy_fcgi.html.fr | 2 +- docs/manual/mod/mod_proxy_fdpass.html | 4 + docs/manual/mod/mod_proxy_fdpass.html.en | 8 +- docs/manual/mod/mod_proxy_fdpass.html.fr | 98 + docs/manual/mod/mod_proxy_ftp.html | 4 + docs/manual/mod/mod_proxy_ftp.html.en | 12 +- docs/manual/mod/mod_proxy_ftp.html.fr | 295 + docs/manual/mod/mod_proxy_html.html.en | 46 +- docs/manual/mod/mod_proxy_html.html.fr | 4 +- docs/manual/mod/mod_proxy_http.html.en | 2 +- docs/manual/mod/mod_proxy_http.html.fr | 2 +- docs/manual/mod/mod_proxy_scgi.html | 4 + docs/manual/mod/mod_proxy_scgi.html.en | 8 +- docs/manual/mod/mod_proxy_scgi.html.fr | 220 + docs/manual/mod/mod_ratelimit.html | 4 + docs/manual/mod/mod_ratelimit.html.en | 8 +- docs/manual/mod/mod_ratelimit.html.fr | 83 + docs/manual/mod/mod_reflector.html | 4 + docs/manual/mod/mod_reflector.html.en | 8 +- docs/manual/mod/mod_reflector.html.fr | 129 + docs/manual/mod/mod_remoteip.html.en | 2 +- docs/manual/mod/mod_remoteip.html.fr | 2 +- docs/manual/mod/mod_reqtimeout.html.en | 2 +- docs/manual/mod/mod_request.html | 4 + docs/manual/mod/mod_request.html.en | 4 +- docs/manual/mod/mod_request.html.fr | 134 + docs/manual/mod/mod_request.html.tr.utf8 | 4 +- docs/manual/mod/mod_rewrite.html.en | 27 +- docs/manual/mod/mod_rewrite.html.fr | 24 +- docs/manual/mod/mod_sed.html.en | 2 +- docs/manual/mod/mod_sed.html.fr | 2 +- docs/manual/mod/mod_session.html.en | 2 +- docs/manual/mod/mod_session.html.fr | 2 +- docs/manual/mod/mod_session_cookie.html.en | 2 +- docs/manual/mod/mod_session_crypto.html.en | 2 +- docs/manual/mod/mod_session_dbd.html.en | 2 +- docs/manual/mod/mod_setenvif.html.en | 2 +- docs/manual/mod/mod_setenvif.html.fr | 2 +- docs/manual/mod/mod_setenvif.html.ja.utf8 | 2 +- docs/manual/mod/mod_setenvif.html.ko.euc-kr | 2 +- docs/manual/mod/mod_setenvif.html.tr.utf8 | 2 +- docs/manual/mod/mod_slotmem_plain.html.en | 11 +- docs/manual/mod/mod_slotmem_shm.html.en | 15 +- docs/manual/mod/mod_so.html.en | 6 +- docs/manual/mod/mod_so.html.fr | 6 +- docs/manual/mod/mod_so.html.ja.utf8 | 2 +- docs/manual/mod/mod_so.html.ko.euc-kr | 2 +- docs/manual/mod/mod_so.html.tr.utf8 | 2 +- docs/manual/mod/mod_socache_dbm.html.en | 2 +- docs/manual/mod/mod_socache_dc.html.en | 2 +- docs/manual/mod/mod_socache_memcache.html.en | 13 +- docs/manual/mod/mod_socache_shmcb.html.en | 2 +- docs/manual/mod/mod_speling.html | 4 + docs/manual/mod/mod_speling.html.en | 4 +- docs/manual/mod/mod_speling.html.fr | 167 + docs/manual/mod/mod_speling.html.ja.utf8 | 4 +- docs/manual/mod/mod_speling.html.ko.euc-kr | 4 +- docs/manual/mod/mod_ssl.html | 4 + docs/manual/mod/mod_ssl.html.en | 144 +- docs/manual/mod/mod_ssl.html.fr | 2705 +++++++++ docs/manual/mod/mod_status.html.en | 2 +- docs/manual/mod/mod_status.html.fr | 4 +- docs/manual/mod/mod_status.html.ja.utf8 | 2 +- docs/manual/mod/mod_status.html.ko.euc-kr | 2 +- docs/manual/mod/mod_status.html.tr.utf8 | 2 +- docs/manual/mod/mod_substitute.html | 4 + docs/manual/mod/mod_substitute.html.en | 8 +- docs/manual/mod/mod_substitute.html.fr | 179 + docs/manual/mod/mod_suexec.html.en | 7 +- docs/manual/mod/mod_suexec.html.ja.utf8 | 2 +- docs/manual/mod/mod_suexec.html.ko.euc-kr | 2 +- docs/manual/mod/mod_suexec.html.tr.utf8 | 2 +- docs/manual/mod/mod_unique_id.html.en | 2 +- docs/manual/mod/mod_unique_id.html.fr | 2 +- docs/manual/mod/mod_unique_id.html.ja.utf8 | 2 +- docs/manual/mod/mod_unique_id.html.ko.euc-kr | 2 +- docs/manual/mod/mod_unixd.html.en | 6 +- docs/manual/mod/mod_unixd.html.tr.utf8 | 2 +- docs/manual/mod/mod_userdir.html.en | 2 +- docs/manual/mod/mod_userdir.html.ja.utf8 | 2 +- docs/manual/mod/mod_userdir.html.ko.euc-kr | 2 +- docs/manual/mod/mod_userdir.html.tr.utf8 | 2 +- docs/manual/mod/mod_usertrack.html.en | 2 +- docs/manual/mod/mod_version.html.en | 5 +- docs/manual/mod/mod_version.html.ja.utf8 | 2 +- docs/manual/mod/mod_version.html.ko.euc-kr | 2 +- docs/manual/mod/mod_vhost_alias.html.en | 2 +- docs/manual/mod/mod_vhost_alias.html.tr.utf8 | 2 +- docs/manual/mod/mod_watchdog.html.en | 2 +- docs/manual/mod/mod_xml2enc.html | 4 + docs/manual/mod/mod_xml2enc.html.en | 15 +- docs/manual/mod/mod_xml2enc.html.fr | 237 + docs/manual/mod/module-dict.html.en | 2 +- docs/manual/mod/module-dict.html.ja.utf8 | 2 +- docs/manual/mod/module-dict.html.ko.euc-kr | 2 +- docs/manual/mod/module-dict.html.tr.utf8 | 2 +- docs/manual/mod/mpm_common.html | 4 + docs/manual/mod/mpm_common.html.de | 4 +- docs/manual/mod/mpm_common.html.en | 10 +- docs/manual/mod/mpm_common.html.fr | 874 +++ docs/manual/mod/mpm_common.html.ja.utf8 | 4 +- docs/manual/mod/mpm_common.html.tr.utf8 | 4 +- docs/manual/mod/mpm_netware.html.en | 2 +- docs/manual/mod/mpm_winnt.html.de | 3 +- docs/manual/mod/mpm_winnt.html.en | 72 +- docs/manual/mod/mpm_winnt.html.ja.utf8 | 3 +- docs/manual/mod/mpmt_os2.html | 4 + docs/manual/mod/mpmt_os2.html.en | 8 +- docs/manual/mod/mpmt_os2.html.fr | 100 + docs/manual/mod/prefork.html | 4 + docs/manual/mod/prefork.html.de | 4 +- docs/manual/mod/prefork.html.en | 4 +- docs/manual/mod/prefork.html.fr | 231 + docs/manual/mod/prefork.html.ja.utf8 | 4 +- docs/manual/mod/prefork.html.tr.utf8 | 4 +- docs/manual/mod/quickreference.html.de | 1052 ++-- docs/manual/mod/quickreference.html.en | 1050 ++-- docs/manual/mod/quickreference.html.es | 1050 ++-- docs/manual/mod/quickreference.html.ja.utf8 | 1032 ++-- docs/manual/mod/quickreference.html.ko.euc-kr | 1046 ++-- docs/manual/mod/quickreference.html.tr.utf8 | 1062 ++-- docs/manual/mod/quickreference.html.zh-cn | 1050 ++-- docs/manual/mod/worker.html | 4 + docs/manual/mod/worker.html.de | 4 +- docs/manual/mod/worker.html.en | 6 +- docs/manual/mod/worker.html.fr | 212 + docs/manual/mod/worker.html.ja.utf8 | 4 +- docs/manual/mod/worker.html.tr.utf8 | 4 +- docs/manual/mpm.html.de | 2 +- docs/manual/mpm.html.en | 25 +- docs/manual/mpm.html.es | 2 +- docs/manual/mpm.html.fr | 25 +- docs/manual/mpm.html.ja.utf8 | 2 +- docs/manual/mpm.html.ko.euc-kr | 2 +- docs/manual/mpm.html.tr.utf8 | 25 +- docs/manual/mpm.html.zh-cn | 2 +- docs/manual/new_features_2_0.html.de | 2 +- docs/manual/new_features_2_0.html.en | 2 +- docs/manual/new_features_2_0.html.fr | 2 +- docs/manual/new_features_2_0.html.ja.utf8 | 2 +- docs/manual/new_features_2_0.html.ko.euc-kr | 2 +- docs/manual/new_features_2_0.html.pt-br | 2 +- docs/manual/new_features_2_0.html.ru.koi8-r | 2 +- docs/manual/new_features_2_0.html.tr.utf8 | 2 +- docs/manual/new_features_2_2.html.en | 2 +- docs/manual/new_features_2_2.html.fr | 2 +- docs/manual/new_features_2_2.html.ko.euc-kr | 2 +- docs/manual/new_features_2_2.html.pt-br | 2 +- docs/manual/new_features_2_2.html.tr.utf8 | 2 +- docs/manual/new_features_2_4.html.en | 14 +- docs/manual/new_features_2_4.html.fr | 21 +- docs/manual/new_features_2_4.html.tr.utf8 | 3 +- docs/manual/platform/ebcdic.html.en | 2 +- docs/manual/platform/ebcdic.html.ko.euc-kr | 2 +- docs/manual/platform/index.html.en | 2 +- docs/manual/platform/index.html.ko.euc-kr | 2 +- docs/manual/platform/index.html.zh-cn | 2 +- docs/manual/platform/netware.html.en | 2 +- docs/manual/platform/netware.html.ko.euc-kr | 2 +- docs/manual/platform/perf-hp.html.en | 2 +- docs/manual/platform/perf-hp.html.ko.euc-kr | 2 +- docs/manual/platform/rpm.html.en | 2 +- docs/manual/platform/win_compiling.html.en | 2 +- docs/manual/platform/win_compiling.html.ko.euc-kr | 2 +- docs/manual/platform/windows.html.en | 252 +- docs/manual/platform/windows.html.ko.euc-kr | 2 +- docs/manual/programs/ab.html | 4 + docs/manual/programs/ab.html.en | 16 +- docs/manual/programs/ab.html.fr | 374 ++ docs/manual/programs/ab.html.ko.euc-kr | 4 +- docs/manual/programs/ab.html.tr.utf8 | 4 +- docs/manual/programs/apachectl.html | 4 + docs/manual/programs/apachectl.html.en | 4 +- docs/manual/programs/apachectl.html.fr | 200 + docs/manual/programs/apachectl.html.ko.euc-kr | 4 +- docs/manual/programs/apachectl.html.tr.utf8 | 4 +- docs/manual/programs/apxs.html | 4 + docs/manual/programs/apxs.html.en | 4 +- docs/manual/programs/apxs.html.fr | 388 ++ docs/manual/programs/apxs.html.ko.euc-kr | 4 +- docs/manual/programs/apxs.html.tr.utf8 | 4 +- docs/manual/programs/configure.html | 4 + docs/manual/programs/configure.html.en | 4 +- docs/manual/programs/configure.html.fr | 798 +++ docs/manual/programs/configure.html.ko.euc-kr | 4 +- docs/manual/programs/configure.html.tr.utf8 | 4 +- docs/manual/programs/dbmmanage.html | 4 + docs/manual/programs/dbmmanage.html.en | 9 +- docs/manual/programs/dbmmanage.html.fr | 245 + docs/manual/programs/dbmmanage.html.ko.euc-kr | 4 +- docs/manual/programs/dbmmanage.html.tr.utf8 | 5 +- docs/manual/programs/fcgistarter.html | 4 + docs/manual/programs/fcgistarter.html.en | 4 +- docs/manual/programs/fcgistarter.html.fr | 94 + docs/manual/programs/fcgistarter.html.tr.utf8 | 4 +- docs/manual/programs/htcacheclean.html | 4 + docs/manual/programs/htcacheclean.html.en | 4 +- docs/manual/programs/htcacheclean.html.fr | 260 + docs/manual/programs/htcacheclean.html.ko.euc-kr | 4 +- docs/manual/programs/htcacheclean.html.tr.utf8 | 4 +- docs/manual/programs/htdbm.html | 4 + docs/manual/programs/htdbm.html.en | 92 +- docs/manual/programs/htdbm.html.fr | 382 ++ docs/manual/programs/htdbm.html.tr.utf8 | 5 +- docs/manual/programs/htdigest.html | 4 + docs/manual/programs/htdigest.html.en | 4 +- docs/manual/programs/htdigest.html.fr | 117 + docs/manual/programs/htdigest.html.ko.euc-kr | 4 +- docs/manual/programs/htdigest.html.tr.utf8 | 4 +- docs/manual/programs/htpasswd.html | 4 + docs/manual/programs/htpasswd.html.en | 61 +- docs/manual/programs/htpasswd.html.fr | 327 ++ docs/manual/programs/htpasswd.html.ko.euc-kr | 4 +- docs/manual/programs/htpasswd.html.tr.utf8 | 4 +- docs/manual/programs/httpd.html | 4 + docs/manual/programs/httpd.html.en | 4 +- docs/manual/programs/httpd.html.fr | 239 + docs/manual/programs/httpd.html.ko.euc-kr | 4 +- docs/manual/programs/httpd.html.tr.utf8 | 4 +- docs/manual/programs/httxt2dbm.html | 4 + docs/manual/programs/httxt2dbm.html.en | 4 +- docs/manual/programs/httxt2dbm.html.fr | 116 + docs/manual/programs/httxt2dbm.html.tr.utf8 | 4 +- docs/manual/programs/index.html | 4 + docs/manual/programs/index.html.en | 4 +- docs/manual/programs/index.html.es | 4 +- docs/manual/programs/index.html.fr | 130 + docs/manual/programs/index.html.ko.euc-kr | 4 +- docs/manual/programs/index.html.tr.utf8 | 4 +- docs/manual/programs/index.html.zh-cn | 4 +- docs/manual/programs/log_server_status.html.en | 4 +- docs/manual/programs/logresolve.html | 4 + docs/manual/programs/logresolve.html.en | 4 +- docs/manual/programs/logresolve.html.fr | 104 + docs/manual/programs/logresolve.html.ko.euc-kr | 4 +- docs/manual/programs/logresolve.html.tr.utf8 | 4 +- docs/manual/programs/other.html | 4 + docs/manual/programs/other.html.en | 4 +- docs/manual/programs/other.html.fr | 68 + docs/manual/programs/other.html.ko.euc-kr | 4 +- docs/manual/programs/other.html.tr.utf8 | 4 +- docs/manual/programs/rotatelogs.html | 4 + docs/manual/programs/rotatelogs.html.en | 4 +- docs/manual/programs/rotatelogs.html.fr | 291 + docs/manual/programs/rotatelogs.html.ko.euc-kr | 4 +- docs/manual/programs/rotatelogs.html.tr.utf8 | 4 +- docs/manual/programs/split-logfile.html.en | 4 +- docs/manual/programs/suexec.html.en | 2 +- docs/manual/programs/suexec.html.ko.euc-kr | 2 +- docs/manual/programs/suexec.html.tr.utf8 | 2 +- docs/manual/rewrite/access.html.en | 2 +- docs/manual/rewrite/access.html.fr | 2 +- docs/manual/rewrite/advanced.html.en | 2 +- docs/manual/rewrite/advanced.html.fr | 2 +- docs/manual/rewrite/avoid.html.en | 2 +- docs/manual/rewrite/avoid.html.fr | 2 +- docs/manual/rewrite/flags.html.en | 17 +- docs/manual/rewrite/flags.html.fr | 18 +- docs/manual/rewrite/htaccess.html.en | 2 +- docs/manual/rewrite/htaccess.html.fr | 2 +- docs/manual/rewrite/index.html.en | 2 +- docs/manual/rewrite/index.html.fr | 2 +- docs/manual/rewrite/index.html.tr.utf8 | 2 +- docs/manual/rewrite/index.html.zh-cn | 2 +- docs/manual/rewrite/intro.html.en | 2 +- docs/manual/rewrite/intro.html.fr | 4 +- docs/manual/rewrite/proxy.html | 4 + docs/manual/rewrite/proxy.html.en | 8 +- docs/manual/rewrite/proxy.html.fr | 126 + docs/manual/rewrite/remapping.html | 4 + docs/manual/rewrite/remapping.html.en | 8 +- docs/manual/rewrite/remapping.html.fr | 691 +++ docs/manual/rewrite/rewrite_guide.html.fr | 870 --- docs/manual/rewrite/rewrite_guide_advanced.html.fr | 1377 ----- docs/manual/rewrite/rewritemap.html | 4 + docs/manual/rewrite/rewritemap.html.en | 8 +- docs/manual/rewrite/rewritemap.html.fr | 514 ++ docs/manual/rewrite/tech.html.en | 2 +- docs/manual/rewrite/tech.html.fr | 2 +- docs/manual/rewrite/vhosts.html | 4 + docs/manual/rewrite/vhosts.html.en | 8 +- docs/manual/rewrite/vhosts.html.fr | 242 + docs/manual/sections.html.en | 4 +- docs/manual/sections.html.fr | 6 +- docs/manual/sections.html.ja.utf8 | 2 +- docs/manual/sections.html.ko.euc-kr | 2 +- docs/manual/sections.html.tr.utf8 | 301 +- docs/manual/server-wide.html.en | 2 +- docs/manual/server-wide.html.fr | 2 +- docs/manual/server-wide.html.ja.utf8 | 2 +- docs/manual/server-wide.html.ko.euc-kr | 2 +- docs/manual/server-wide.html.tr.utf8 | 2 +- docs/manual/sitemap.html.de | 2 +- docs/manual/sitemap.html.en | 2 +- docs/manual/sitemap.html.es | 2 +- docs/manual/sitemap.html.fr | 2 +- docs/manual/sitemap.html.ja.utf8 | 2 +- docs/manual/sitemap.html.ko.euc-kr | 2 +- docs/manual/sitemap.html.tr.utf8 | 2 +- docs/manual/sitemap.html.zh-cn | 2 +- docs/manual/socache.html | 4 + docs/manual/socache.html.en | 9 +- docs/manual/socache.html.fr | 147 + docs/manual/ssl/index.html.en | 2 +- docs/manual/ssl/index.html.fr | 2 +- docs/manual/ssl/index.html.ja.utf8 | 2 +- docs/manual/ssl/index.html.tr.utf8 | 2 +- docs/manual/ssl/index.html.zh-cn | 2 +- docs/manual/ssl/ssl_compat.html.en | 2 +- docs/manual/ssl/ssl_compat.html.fr | 2 +- docs/manual/ssl/ssl_faq.html.en | 23 +- docs/manual/ssl/ssl_faq.html.fr | 27 +- docs/manual/ssl/ssl_howto.html.en | 12 +- docs/manual/ssl/ssl_howto.html.fr | 12 +- docs/manual/ssl/ssl_intro.html.en | 2 +- docs/manual/ssl/ssl_intro.html.fr | 2 +- docs/manual/ssl/ssl_intro.html.ja.utf8 | 2 +- docs/manual/stopping.html.de | 2 +- docs/manual/stopping.html.en | 2 +- docs/manual/stopping.html.es | 2 +- docs/manual/stopping.html.fr | 2 +- docs/manual/stopping.html.ja.utf8 | 2 +- docs/manual/stopping.html.ko.euc-kr | 2 +- docs/manual/stopping.html.tr.utf8 | 2 +- docs/manual/style/version.ent | 2 +- docs/manual/suexec.html.en | 2 +- docs/manual/suexec.html.fr | 2 +- docs/manual/suexec.html.ja.utf8 | 2 +- docs/manual/suexec.html.ko.euc-kr | 2 +- docs/manual/suexec.html.tr.utf8 | 12 +- docs/manual/upgrading.html.en | 11 +- docs/manual/upgrading.html.fr | 12 +- docs/manual/urlmapping.html.en | 2 +- docs/manual/urlmapping.html.fr | 2 +- docs/manual/urlmapping.html.ja.utf8 | 2 +- docs/manual/urlmapping.html.ko.euc-kr | 2 +- docs/manual/urlmapping.html.tr.utf8 | 76 +- docs/manual/vhosts/details.html.en | 2 +- docs/manual/vhosts/details.html.fr | 2 +- docs/manual/vhosts/details.html.ko.euc-kr | 2 +- docs/manual/vhosts/details.html.tr.utf8 | 2 +- docs/manual/vhosts/examples.html.en | 2 +- docs/manual/vhosts/examples.html.fr | 2 +- docs/manual/vhosts/examples.html.ja.utf8 | 2 +- docs/manual/vhosts/examples.html.ko.euc-kr | 2 +- docs/manual/vhosts/examples.html.tr.utf8 | 2 +- docs/manual/vhosts/fd-limits.html.en | 2 +- docs/manual/vhosts/fd-limits.html.fr | 2 +- docs/manual/vhosts/fd-limits.html.ja.utf8 | 2 +- docs/manual/vhosts/fd-limits.html.ko.euc-kr | 2 +- docs/manual/vhosts/fd-limits.html.tr.utf8 | 2 +- docs/manual/vhosts/index.html.de | 2 +- docs/manual/vhosts/index.html.en | 2 +- docs/manual/vhosts/index.html.fr | 2 +- docs/manual/vhosts/index.html.ja.utf8 | 2 +- docs/manual/vhosts/index.html.ko.euc-kr | 2 +- docs/manual/vhosts/index.html.tr.utf8 | 2 +- docs/manual/vhosts/index.html.zh-cn | 2 +- docs/manual/vhosts/ip-based.html.en | 2 +- docs/manual/vhosts/ip-based.html.fr | 2 +- docs/manual/vhosts/ip-based.html.ja.utf8 | 2 +- docs/manual/vhosts/ip-based.html.ko.euc-kr | 2 +- docs/manual/vhosts/ip-based.html.tr.utf8 | 2 +- docs/manual/vhosts/mass.html.en | 2 +- docs/manual/vhosts/mass.html.fr | 2 +- docs/manual/vhosts/mass.html.ko.euc-kr | 2 +- docs/manual/vhosts/mass.html.tr.utf8 | 2 +- docs/manual/vhosts/name-based.html.de | 2 +- docs/manual/vhosts/name-based.html.en | 2 +- docs/manual/vhosts/name-based.html.fr | 2 +- docs/manual/vhosts/name-based.html.ja.utf8 | 2 +- docs/manual/vhosts/name-based.html.ko.euc-kr | 2 +- docs/manual/vhosts/name-based.html.tr.utf8 | 2 +- httpd.spec | 18 +- include/ap_config_auto.h.in | 6 + include/ap_mmn.h | 7 +- include/ap_release.h | 4 +- include/ap_slotmem.h | 17 +- include/http_config.h | 6 +- include/http_core.h | 10 +- include/http_log.h | 2 +- include/http_protocol.h | 2 +- include/httpd.h | 52 +- include/mod_core.h | 12 +- include/util_filter.h | 2 +- include/util_ldap.h | 2 +- include/util_varbuf.h | 40 +- modules/aaa/mod_access_compat.dsp | 4 +- modules/aaa/mod_auth_form.c | 134 +- modules/aaa/mod_authn_core.dsp | 4 +- modules/aaa/mod_authn_socache.dsp | 4 +- modules/aaa/mod_authz_core.dsp | 4 +- modules/aaa/mod_authz_dbd.c | 2 +- modules/aaa/mod_authz_groupfile.c | 4 +- modules/aaa/mod_authz_owner.c | 3 +- modules/arch/netware/mod_nw_ssl.c | 154 +- modules/arch/unix/mod_privileges.c | 2 +- modules/cache/config.m4 | 4 +- modules/cache/mod_cache.c | 10 +- modules/cache/mod_cache_disk.c | 39 +- modules/config5.m4 | 57 - modules/config7.m4 | 56 + modules/dav/fs/lock.c | 2 +- modules/dav/main/util.c | 2 +- modules/debugging/mod_dumpio.c | 36 +- modules/examples/mod_example_hooks.c | 2 +- modules/filters/config.m4 | 11 +- modules/filters/mod_data.dsp | 4 +- modules/filters/mod_ext_filter.c | 4 +- modules/filters/mod_filter.c | 10 +- modules/filters/mod_include.c | 17 +- modules/filters/mod_proxy_html.dsp | 4 +- modules/filters/mod_reflector.dsp | 4 +- modules/filters/mod_sed.dsp | 6 +- modules/filters/mod_substitute.dsp | 2 +- modules/filters/mod_xml2enc.c | 3 + modules/filters/mod_xml2enc.dsp | 4 +- modules/filters/sed0.c | 8 +- modules/generators/mod_autoindex.c | 6 +- modules/generators/mod_cgi.c | 2 +- modules/generators/mod_cgid.c | 2 +- modules/generators/mod_info.c | 3 +- modules/generators/mod_status.c | 52 +- modules/http/http_filters.c | 4 +- modules/http/http_request.c | 4 + modules/ldap/util_ldap.c | 12 +- modules/ldap/util_ldap_cache_mgr.c | 2 +- modules/loggers/mod_log_config.c | 2 +- modules/loggers/mod_log_debug.dsp | 4 +- modules/loggers/mod_log_forensic.c | 2 +- modules/lua/NWGNUmakefile | 2 + modules/lua/config.m4 | 13 +- modules/lua/lua_dbd.c | 825 +++ modules/lua/lua_dbd.h | 66 + modules/lua/lua_request.c | 3 + modules/lua/mod_lua.dsp | 12 +- modules/mappers/mod_dir.c | 2 +- modules/mappers/mod_imagemap.c | 42 +- modules/mappers/mod_negotiation.c | 2 +- modules/mappers/mod_rewrite.c | 22 +- modules/mappers/mod_speling.c | 10 +- modules/metadata/mod_env.c | 2 +- modules/metadata/mod_headers.c | 25 + modules/metadata/mod_remoteip.c | 5 +- modules/proxy/NWGNUproxy | 2 + modules/proxy/ajp_header.c | 17 +- modules/proxy/ajp_header.h | 2 + modules/proxy/ajp_msg.c | 9 +- modules/proxy/mod_proxy.c | 34 +- modules/proxy/mod_proxy.h | 28 + modules/proxy/mod_proxy_balancer.c | 288 +- modules/proxy/mod_proxy_connect.c | 3 +- modules/proxy/mod_proxy_ftp.c | 49 +- modules/proxy/mod_proxy_http.c | 2 +- modules/proxy/proxy_util.c | 136 +- modules/proxy/proxy_util.h | 6 +- modules/session/mod_session.c | 2 +- modules/session/mod_session_crypto.c | 2 +- modules/session/mod_session_dbd.c | 22 +- modules/slotmem/mod_slotmem_plain.c | 42 +- modules/slotmem/mod_slotmem_plain.dsp | 4 +- modules/slotmem/mod_slotmem_shm.c | 108 +- modules/slotmem/mod_slotmem_shm.dsp | 4 +- modules/ssl/config.m4 | 1 - modules/ssl/mod_ssl.c | 9 + modules/ssl/ssl_engine_config.c | 37 + modules/ssl/ssl_engine_init.c | 41 +- modules/ssl/ssl_engine_io.c | 13 +- modules/ssl/ssl_engine_kernel.c | 47 +- modules/ssl/ssl_engine_vars.c | 14 +- modules/ssl/ssl_private.h | 23 + server/Makefile.in | 2 +- server/config.c | 12 +- server/core.c | 19 +- server/error_bucket.c | 2 +- server/gen_test_char.c | 4 +- server/listen.c | 5 +- server/log.c | 10 +- server/mpm/event/event.c | 6 +- server/mpm/netware/mpm_netware.c | 4 +- server/mpm/prefork/prefork.c | 13 +- server/mpm/winnt/child.c | 5 +- server/mpm/winnt/mpm_winnt.c | 42 +- server/mpm/winnt/mpm_winnt.h | 2 - server/mpm/winnt/service.c | 4 +- server/protocol.c | 29 +- server/provider.c | 2 +- server/util.c | 126 +- server/util_expr_eval.c | 3 + server/util_md5.c | 10 +- server/util_pcre.c | 12 +- server/util_script.c | 6 +- server/vhost.c | 5 +- support/Makefile.in | 15 +- support/NWGNUhtdbm | 1 + support/NWGNUhtpasswd | 1 + support/ab.c | 48 +- support/htcacheclean.c | 10 +- support/htdbm.c | 373 +- support/htdbm.dsp | 12 +- support/htpasswd.c | 404 +- support/htpasswd.dsp | 4 + support/httxt2dbm.c | 2 +- support/passwd_common.c | 316 ++ support/passwd_common.h | 110 + support/rotatelogs.c | 19 +- support/suexec.c | 26 +- support/win32/ApacheMonitor.c | 1 - 993 files changed, 41257 insertions(+), 10042 deletions(-) create mode 100644 docs/cgi-examples/printenv.vbs create mode 100644 docs/cgi-examples/printenv.wsf create mode 100644 docs/icons/apache_pb.svg delete mode 100644 docs/icons/apache_pb2_ani.gif create mode 100644 docs/manual/howto/access.html.fr create mode 100644 docs/manual/howto/index.html.fr create mode 100644 docs/manual/misc/password_encryptions.html.fr create mode 100644 docs/manual/misc/relevant_standards.html.fr create mode 100644 docs/manual/mod/directive-dict.html.fr create mode 100644 docs/manual/mod/directives.html.fr create mode 100644 docs/manual/mod/mod_allowmethods.html.fr create mode 100644 docs/manual/mod/mod_auth_form.html.fr create mode 100644 docs/manual/mod/mod_authn_anon.html.fr create mode 100644 docs/manual/mod/mod_authn_dbd.html.fr create mode 100644 docs/manual/mod/mod_authn_dbm.html.fr create mode 100644 docs/manual/mod/mod_authn_socache.html.fr create mode 100644 docs/manual/mod/mod_authz_core.html.fr create mode 100644 docs/manual/mod/mod_authz_dbd.html.fr create mode 100644 docs/manual/mod/mod_authz_dbm.html.fr create mode 100644 docs/manual/mod/mod_authz_groupfile.html.fr create mode 100644 docs/manual/mod/mod_cern_meta.html.fr create mode 100644 docs/manual/mod/mod_cgi.html.fr create mode 100644 docs/manual/mod/mod_cgid.html.fr create mode 100644 docs/manual/mod/mod_charset_lite.html.fr create mode 100644 docs/manual/mod/mod_data.html.fr create mode 100644 docs/manual/mod/mod_dav.html.fr create mode 100644 docs/manual/mod/mod_dav_fs.html.fr create mode 100644 docs/manual/mod/mod_dav_lock.html.fr create mode 100644 docs/manual/mod/mod_dbd.html.fr create mode 100644 docs/manual/mod/mod_dialup.html.fr create mode 100644 docs/manual/mod/mod_example.html.fr create mode 100644 docs/manual/mod/mod_ext_filter.html.fr create mode 100644 docs/manual/mod/mod_file_cache.html.fr create mode 100644 docs/manual/mod/mod_filter.html.fr create mode 100644 docs/manual/mod/mod_isapi.html.fr create mode 100644 docs/manual/mod/mod_lbmethod_bybusyness.html.fr create mode 100644 docs/manual/mod/mod_lbmethod_byrequests.html.fr create mode 100644 docs/manual/mod/mod_lbmethod_bytraffic.html.fr create mode 100644 docs/manual/mod/mod_lbmethod_heartbeat.html.fr create mode 100644 docs/manual/mod/mod_logio.html.fr create mode 100644 docs/manual/mod/mod_nw_ssl.html.fr create mode 100644 docs/manual/mod/mod_privileges.html.fr create mode 100644 docs/manual/mod/mod_proxy_ajp.html.fr create mode 100644 docs/manual/mod/mod_proxy_balancer.html.fr create mode 100644 docs/manual/mod/mod_proxy_connect.html.fr create mode 100644 docs/manual/mod/mod_proxy_express.html.fr create mode 100644 docs/manual/mod/mod_proxy_fdpass.html.fr create mode 100644 docs/manual/mod/mod_proxy_ftp.html.fr create mode 100644 docs/manual/mod/mod_proxy_scgi.html.fr create mode 100644 docs/manual/mod/mod_ratelimit.html.fr create mode 100644 docs/manual/mod/mod_reflector.html.fr create mode 100644 docs/manual/mod/mod_request.html.fr create mode 100644 docs/manual/mod/mod_speling.html.fr create mode 100644 docs/manual/mod/mod_ssl.html.fr create mode 100644 docs/manual/mod/mod_substitute.html.fr create mode 100644 docs/manual/mod/mod_xml2enc.html.fr create mode 100644 docs/manual/mod/mpm_common.html.fr create mode 100644 docs/manual/mod/mpmt_os2.html.fr create mode 100644 docs/manual/mod/prefork.html.fr create mode 100644 docs/manual/mod/worker.html.fr create mode 100644 docs/manual/programs/ab.html.fr create mode 100644 docs/manual/programs/apachectl.html.fr create mode 100644 docs/manual/programs/apxs.html.fr create mode 100644 docs/manual/programs/configure.html.fr create mode 100644 docs/manual/programs/dbmmanage.html.fr create mode 100644 docs/manual/programs/fcgistarter.html.fr create mode 100644 docs/manual/programs/htcacheclean.html.fr create mode 100644 docs/manual/programs/htdbm.html.fr create mode 100644 docs/manual/programs/htdigest.html.fr create mode 100644 docs/manual/programs/htpasswd.html.fr create mode 100644 docs/manual/programs/httpd.html.fr create mode 100644 docs/manual/programs/httxt2dbm.html.fr create mode 100644 docs/manual/programs/index.html.fr create mode 100644 docs/manual/programs/logresolve.html.fr create mode 100644 docs/manual/programs/other.html.fr create mode 100644 docs/manual/programs/rotatelogs.html.fr create mode 100644 docs/manual/rewrite/proxy.html.fr create mode 100644 docs/manual/rewrite/remapping.html.fr delete mode 100644 docs/manual/rewrite/rewrite_guide.html.fr delete mode 100644 docs/manual/rewrite/rewrite_guide_advanced.html.fr create mode 100644 docs/manual/rewrite/rewritemap.html.fr create mode 100644 docs/manual/rewrite/vhosts.html.fr create mode 100644 docs/manual/socache.html.fr delete mode 100644 modules/config5.m4 create mode 100644 modules/config7.m4 create mode 100644 modules/lua/lua_dbd.c create mode 100644 modules/lua/lua_dbd.h create mode 100644 support/passwd_common.c create mode 100644 support/passwd_common.h diff --git a/CHANGES b/CHANGES index 33c6b732..7688dbb7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,213 @@ -*- coding: utf-8 -*- +Changes with Apache 2.4.4 + + *) SECURITY: CVE-2012-3499 (cve.mitre.org) + Various XSS flaws due to unescaped hostnames and URIs HTML output in + mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp. + [Jim Jagielski, Stefan Fritsch, Niels Heinen ] + + *) SECURITY: CVE-2012-4558 (cve.mitre.org) + XSS in mod_proxy_balancer manager interface. [Jim Jagielski, + Niels Heinen ] + + *) mod_dir: Add support for the value 'disabled' in FallbackResource. + [Vincent Deffontaines] + + *) mod_proxy_connect: Don't keepalive the connection to the client if the + backend closes the connection. PR 54474. [Pavel Mateja ] + + *) mod_lua: Add bindings for mod_dbd/apr_dbd database access. + [Daniel Gruno] + + *) mod_proxy: Allow for persistence of local changes made via the + balancer-manager between graceful/normal restarts and power + cycles. [Jim Jagielski] + + *) mod_status: Print out list of times since a Vhost was last used. + [Jim Jagielski] + + *) mod_proxy: Fix startup crash with mis-defined balancers. + PR 52402. [Jim Jagielski] + + *) --with-module: Fix failure to integrate them into some existing + module directories. PR 40097. [Jeff Trawick] + + *) htcacheclean: Fix potential segfault if "-p" is omitted. [Joe Orton] + + *) mod_proxy_http: Honour special value 0 (unlimited) of LimitRequestBody + PR 54435. [Pavel Mateja ] + + *) mod_proxy_ajp: Support unknown HTTP methods. PR 54416. + [Rainer Jung] + + *) htcacheclean: Fix list options "-a" and "-A". + [Rainer Jung] + + *) mod_slotmem_shm: Fix mistaken reset of num_free for restored shm. + [Jim Jagielski] + + *) mod_proxy: non-existance of byrequests is not an immediate error. + [Jim Jagielski] + + *) mod_proxy_balancer: Improve output of balancer-manager (re: Drn, + Dis, Ign, Stby). PR 52478 [Danijel ] + + *) configure: Fix processing of --disable-FEATURE for various features. + [Jeff Trawick] + + *) mod_dialup/mod_http: Prevent a crash in mod_dialup in case of internal + redirect. PR 52230. + + *) various modules, rotatelogs: Replace use of apr_file_write() with + apr_file_write_full() to prevent incomplete writes. PR 53131. + [Nicolas Viennot , Stefan Fritsch] + + *) ab: Support socket timeout (-s timeout). + [Guido Serra ] + + *) httxt2dbm: Correct length computation for the 'value' stored in the + DBM file. PR 47650 [jon buckybox com] + + *) core: Be more correct about rejecting directives that cannot work in + sections. [Stefan Fritsch] + + *) core: Fix directives like LogLevel that need to know if they are invoked + at virtual host context or in Directory/Files/Location/If sections to + work properly in If sections that are not in a Directory/Files/Location. + [Stefan Fritsch] + + *) mod_xml2enc: Fix problems with charset conversion altering the + Content-Length. [Micha Lenk ] + + *) ap_expr: Add req_novary function that allows HTTP header lookups + without adding the name to the Vary header. [Stefan Fritsch] + + *) mod_slotmem_*: Add in new fgrab() function which forces a grab and + slot allocation on a specified slot. Allow for clearing of inuse + array. [Jim Jagielski] + + *) mod_proxy_ftp: Fix segfaults on IPv4 requests to hosts with DNS + AAAA records. PR 40841. [Andrew Rucker Jones , , Jim Jagielski] + + *) mod_auth_form: Make sure that get_notes_auth() sets the user as does + get_form_auth() and get_session_auth(). Makes sure that REMOTE_USER + does not vanish during mod_include driven subrequests. [Graham + Leggett] + + *) mod_cache_disk: Resolve errors while revalidating disk-cached files on + Windows ("...rename tempfile to datafile failed..."). PR 38827 + [Eric Covener] + + *) mod_proxy_balancer: Bring XML output up to date. [Jim Jagielski] + + *) htpasswd, htdbm: Optionally read passwords from stdin, as more + secure alternative to -b. PR 40243. [Adomas Paltanavicius , Stefan Fritsch] + + *) htpasswd, htdbm: Add support for bcrypt algorithm (requires + apr-util 1.5 or higher). PR 49288. [Stefan Fritsch] + + *) htpasswd, htdbm: Put full 48bit of entropy into salt, improve + error handling. Add some of htpasswd's improvements to htdbm, + e.g. warn if password is truncated by crypt(). [Stefan Fritsch] + + *) mod_auth_form: Support the expr parser in the + AuthFormLoginRequiredLocation, AuthFormLoginSuccessLocation and + AuthFormLogoutLocation directives. [Graham Leggett] + + *) mod_ssl: Add support for TLS-SRP (Secure Remote Password key exchange + for TLS, RFC 5054). PR 51075. [Quinn Slack , + Christophe Renou, Peter Sylvester] + + *) mod_rewrite: Stop mergeing RewriteBase down to subdirectories + unless new option 'RewriteOptions MergeBase' is configured. + PR 53963. [Eric Covener] + + *) mod_header: Allow for exposure of loadavg and server load using new + format specifiers %l, %i, %b [Jim Jagielski] + + *) core: Make ap_regcomp() return AP_REG_ESPACE if out of memory. Make + ap_pregcomp() abort if out of memory. This raises the minimum PCRE + requirement to version 6.0. [Stefan Fritsch] + + *) mod_proxy: Add ability to configure the sticky session separator. + PR 53893. [, Jim Jagielski] + + *) mod_dumpio: Correctly log large messages + PR 54179 [Marek Wianecki ] + + *) core: Don't fail at startup with AH00554 when Include points to + a directory without any wildcard character. [Eric Covener] + + *) core: Fail startup if the argument to ServerTokens is unrecognized. + [Jackie Zhang ] + + *) mod_log_forensic: Don't log a spurious "-" if a request has been rejected + before mod_log_forensic could attach its id to it. [Stefan Fritsch] + + *) rotatelogs: Omit the second argument for the first invocation of + a post-rotate program when -p is used, per the documentation. + [Joe Orton] + + *) mod_session_dbd: fix a segmentation fault in the function dbd_remove. + PR 53452. [, Reimo Rebane] + + *) core: Functions to provide server load values: ap_get_sload() and + ap_get_loadavg(). [Jim Jagielski, Jan Kaluza , + Jeff Trawick] + + *) mod_ldap: Fix regression in handling "server unavailable" errors on + Windows. PR 54140. [Eric Covener] + + *) syslog logging: Remove stray ", referer" at the end of some messages. + [Jeff Trawick] + + *) "Iterate" directives: Report an error if no arguments are provided. + [Jeff Trawick] + + *) mod_ssl: Change default for SSLCompression to off, as compression + causes security issues in most setups. (The so called "CRIME" attack). + [Stefan Fritsch] + + *) ab: add TLS1.1/TLS1.2 options to -f switch, and adapt output + to more accurately report the negotiated protocol. PR 53916. + [Nicolás Pernas Maradei , Kaspar Brand] + + *) core: ErrorDocument now works for requests without a Host header. + PR 48357. [Jeff Trawick] + + *) prefork: Avoid logging harmless errors during graceful stop. + [Joe Orton, Jeff Trawick] + + *) mod_proxy: When concatting for PPR, avoid cases where we + concat ".../" and "/..." to create "...//..." [Jim Jagielski] + + *) mod_cache: Wrong content type and character set when + mod_cache serves stale content because of a proxy error. + PR 53539. [Rainer Jung, Ruediger Pluem] + + *) mod_proxy_ajp: Fix crash in packet dump code when logging + with LogLevel trace7 or trace8. PR 53730. [Rainer Jung] + + *) httpd.conf: Removed the configuration directives setting a bad_DNT + environment introduced in 2.4.3. The actual directives are commented + out in the default conf file. + + *) core: Apply length limit when logging Status header values. + [Jeff Trawick, Chris Darroch] + + *) mod_proxy_balancer: The nonce is only derived from the UUID iff + not set via the 'nonce' balancer param. [Jim Jagielski] + + *) mod_ssl: Match wildcard SSL certificate names in proxy mode. + PR 53006. [Joe Orton] + + *) Windows: Fix output of -M, -L, and similar command-line options + which display information about the server configuration. + [Jeff Trawick] + Changes with Apache 2.4.3 *) SECURITY: CVE-2012-3502 (cve.mitre.org) @@ -8,7 +216,7 @@ Changes with Apache 2.4.3 to a response mixup. PR 53727. [Rainer Jung] *) SECURITY: CVE-2012-2687 (cve.mitre.org) - mod_negotiation: Escape filenames in variant list to prevent an + mod_negotiation: Escape filenames in variant list to prevent a possible XSS for a site where untrusted users can upload files to a location with MultiViews enabled. [Niels Heinen ] diff --git a/Makefile.in b/Makefile.in index e548e990..09e97145 100644 --- a/Makefile.in +++ b/Makefile.in @@ -202,9 +202,11 @@ INSTALL_HEADERS = \ $(srcdir)/modules/core/mod_so.h \ $(srcdir)/modules/core/mod_watchdog.h \ $(srcdir)/modules/cache/mod_cache.h \ + $(srcdir)/modules/cache/cache_common.h \ $(srcdir)/modules/database/mod_dbd.h \ $(srcdir)/modules/dav/main/mod_dav.h \ $(srcdir)/modules/filters/mod_include.h \ + $(srcdir)/modules/filters/mod_xml2enc.h \ $(srcdir)/modules/generators/mod_cgi.h \ $(srcdir)/modules/generators/mod_status.h \ $(srcdir)/modules/loggers/mod_log_config.h \ diff --git a/Makefile.win b/Makefile.win index 92d1cc6b..3437bcd3 100644 --- a/Makefile.win +++ b/Makefile.win @@ -1031,6 +1031,7 @@ BEGIN { include\*.h \ os\win32\os.h \ modules\cache\mod_cache.h \ + modules\cache\cache_common.h \ modules\core\mod_so.h \ modules\core\mod_watchdog.h \ modules\database\mod_dbd.h \ diff --git a/NOTICE b/NOTICE index 98279cd2..b3677c04 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Apache HTTP Server -Copyright 2012 The Apache Software Foundation. +Copyright 2013 The Apache Software Foundation. This product includes software developed at The Apache Software Foundation (http://www.apache.org/). diff --git a/NWGNUmakefile b/NWGNUmakefile index 2e6ca12c..a3a2a50a 100644 --- a/NWGNUmakefile +++ b/NWGNUmakefile @@ -434,6 +434,7 @@ installdev :: FORCE $(call COPY,$(STDMOD)/core/mod_so.h, $(INSTALLBASE)/include/) $(call COPY,$(STDMOD)/core/mod_watchdog.h, $(INSTALLBASE)/include/) $(call COPY,$(STDMOD)/cache/mod_cache.h, $(INSTALLBASE)/include/) + $(call COPY,$(STDMOD)/cache/cache_common.h, $(INSTALLBASE)/include/) $(call COPY,$(STDMOD)/database/mod_dbd.h, $(INSTALLBASE)/include/) $(call COPY,$(STDMOD)/dav/main/mod_dav.h, $(INSTALLBASE)/include/) $(call COPY,$(STDMOD)/filters/mod_include.h, $(INSTALLBASE)/include/) diff --git a/acinclude.m4 b/acinclude.m4 index 54defc21..26b001df 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -145,12 +145,20 @@ AC_DEFUN(APACHE_TYPE_RLIM_T, [ fi ]) +dnl the list of build variables which are available for customization on a +dnl per module subdir basis (to be inserted into modules.mk with a "MOD_" +dnl prefix, i.e. MOD_CFLAGS etc.). Used in APACHE_MODPATH_{INIT,FINISH}. +define(mod_buildvars, [CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES]) +dnl dnl APACHE_MODPATH_INIT(modpath) AC_DEFUN(APACHE_MODPATH_INIT,[ current_dir=$1 modpath_current=modules/$1 modpath_static= modpath_shared= + for var in mod_buildvars; do + eval MOD_$var= + done test -d $1 || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk ])dnl @@ -159,6 +167,11 @@ AC_DEFUN(APACHE_MODPATH_FINISH,[ echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in mod_buildvars; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -476,7 +489,7 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[ dnl Determine the OpenSSL base directory, if any AC_MSG_CHECKING([for user-provided OpenSSL base directory]) - AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,OpenSSL base directory), [ + AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [ dnl If --with-ssl specifies a directory, we use that directory if test "x$withval" != "xyes" -a "x$withval" != "x"; then dnl This ensures $withval is actually a directory and that it is absolute @@ -493,7 +506,6 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[ saved_CPPFLAGS="$CPPFLAGS" saved_LIBS="$LIBS" saved_LDFLAGS="$LDFLAGS" - SSL_LIBS="" dnl Before doing anything else, load in pkg-config variables if test -n "$PKGCONFIG"; then @@ -505,15 +517,24 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[ PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" export PKG_CONFIG_PATH fi - ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`" + AC_ARG_ENABLE(ssl-staticlib-deps,APACHE_HELP_STRING(--enable-ssl-staticlib-deps,[link mod_ssl with dependencies of OpenSSL's static libraries (as indicated by "pkg-config --static"). Must be specified in addition to --enable-ssl.]), [ + if test "$enableval" = "yes"; then + PKGCONFIG_LIBOPTS="--static" + fi + ]) + ap_openssl_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors openssl`" if test $? -eq 0; then ap_openssl_found="yes" pkglookup="`$PKGCONFIG --cflags-only-I openssl`" APR_ADDTO(CPPFLAGS, [$pkglookup]) - APR_ADDTO(INCLUDES, [$pkglookup]) - pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`" + APR_ADDTO(MOD_CFLAGS, [$pkglookup]) + APR_ADDTO(ab_CFLAGS, [$pkglookup]) + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L openssl`" + APR_ADDTO(LDFLAGS, [$pkglookup]) + APR_ADDTO(MOD_LDFLAGS, [$pkglookup]) + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other openssl`" APR_ADDTO(LDFLAGS, [$pkglookup]) - APR_ADDTO(SSL_LIBS, [$pkglookup]) + APR_ADDTO(MOD_LDFLAGS, [$pkglookup]) fi PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH" fi @@ -521,12 +542,13 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[ dnl fall back to the user-supplied directory if not found via pkg-config if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include]) - APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include]) + APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include]) + APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include]) APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib]) - APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib]) + APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib]) if test "x$ap_platform_runtime_link_flag" != "x"; then APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib]) - APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib]) + APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib]) fi fi @@ -543,10 +565,12 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[ [AC_MSG_RESULT(FAILED)]) if test "x$ac_cv_openssl" = "xyes"; then - ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`" - APR_ADDTO(SSL_LIBS, [$ap_openssl_libs]) + ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`" + APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs]) APR_ADDTO(LIBS, [$ap_openssl_libs]) - APACHE_SUBST(SSL_LIBS) + APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS]) + APACHE_SUBST(ab_CFLAGS) + APACHE_SUBST(ab_LDFLAGS) dnl Run library and function checks liberrors="" diff --git a/build/config_vars.sh.in b/build/config_vars.sh.in index 4a6eddaf..cbb4a39d 100644 --- a/build/config_vars.sh.in +++ b/build/config_vars.sh.in @@ -42,7 +42,7 @@ test -n "@APU_CONFIG@" && APU_INCLUDEDIR="`${APU_CONFIG} --includedir`" installbuilddir="@exp_installbuilddir@" exec sed " -/^[A-Z_]*_LDADD/d +/^[A-Z0-9_]*_LDADD/d /MPM_LIB/d /APACHECTL_ULIMIT/d /[a-z]*_LTFLAGS/d diff --git a/build/installwinconf.awk b/build/installwinconf.awk index 4dc2cd1a..7147ecdd 100644 --- a/build/installwinconf.awk +++ b/build/installwinconf.awk @@ -1,5 +1,5 @@ # -# InstallConf.awk Apache HTTP 2.2 script to rewrite the @@ServerRoot@@ +# InstallConf.awk Apache HTTP 2.x script to rewrite the @@ServerRoot@@ # tags in httpd.conf.in to original\httpd.conf - then duplicate the # conf files to the 'live' configuration if they don't already exist. # @@ -8,10 +8,10 @@ # that ARGV[] params are -not- '\' escaped to process the C:\Foo\Bar Win32 # path format. Note that awk var=path would not succeed, since it -does- # escape backslashes in the assignment. Note also, a trailing space is -# required for paths, or the trailing quote following the backslash is +# required for paths, or the trailing quote following the backslash is # escaped, rather than parsed. # -BEGIN { +BEGIN { domainname = ARGV[1]; servername = ARGV[2]; serveradmin = ARGV[3]; @@ -46,12 +46,12 @@ BEGIN { usertree = "C:/Documents and Settings"; } - print "Installing Apache HTTP 2.0 server with" >tstfl; + print "Installing Apache HTTP Server 2.x with" >tstfl; print " DomainName = " domainname >tstfl; print " ServerName = " servername >tstfl; print " ServerAdmin = " serveradmin >tstfl; print " ServerPort = " serverport >tstfl; - print " ServerSslPort = " serverport >tstfl; + print " ServerSslPort = " serversslport >tstfl; print " ServerRoot = " serverroot >tstfl; filelist["httpd.conf"] = "httpd.conf.in"; @@ -73,7 +73,7 @@ BEGIN { if ( conffile == "httpd.conf" ) { srcfl = sourceroot filelist[conffile]; dstfl = confdefault conffile; - bswarning = 1; + bswarning = 1; } else { srcfl = sourceroot "extra/" filelist[conffile]; dstfl = confdefault "extra/" conffile; @@ -82,150 +82,149 @@ BEGIN { while ( ( getline < srcfl ) > 0 ) { - if ( bswarning && /^$/ ) { - print "#" > dstfl; - print "# NOTE: Where filenames are specified, you must use forward slashes" > dstfl; - print "# instead of backslashes (e.g., \"c:/apache\" instead of \"c:\\apache\")." > dstfl; - print "# If a drive letter is omitted, the drive on which httpd.exe is located" > dstfl; - print "# will be used by default. It is recommended that you always supply" > dstfl; - print "# an explicit drive letter in absolute paths to avoid confusion." > dstfl; - bswarning = 0; + if ( bswarning && /^$/ ) { + print "#" > dstfl; + print "# NOTE: Where filenames are specified, you must use forward slashes" > dstfl; + print "# instead of backslashes (e.g., \"c:/apache\" instead of \"c:\\apache\")." > dstfl; + print "# If a drive letter is omitted, the drive on which httpd.exe is located" > dstfl; + print "# will be used by default. It is recommended that you always supply" > dstfl; + print "# an explicit drive letter in absolute paths to avoid confusion." > dstfl; + bswarning = 0; } - if ( /@@LoadModule@@/ ) { - print "LoadModule access_compat_module modules/mod_access_compat.so" > dstfl; - print "LoadModule actions_module modules/mod_actions.so" > dstfl; - print "LoadModule alias_module modules/mod_alias.so" > dstfl; - print "LoadModule allowmethods_module modules/mod_allowmethods.so" > dstfl; - print "LoadModule asis_module modules/mod_asis.so" > dstfl; - print "LoadModule auth_basic_module modules/mod_auth_basic.so" > dstfl; - print "#LoadModule auth_digest_module modules/mod_auth_digest.so" > dstfl; - print "#LoadModule authn_anon_module modules/mod_authn_anon.so" > dstfl; - print "LoadModule authn_core_module modules/mod_authn_core.so" > dstfl; - print "#LoadModule authn_dbd_module modules/mod_authn_dbd.so" > dstfl; - print "#LoadModule authn_dbm_module modules/mod_authn_dbm.so" > dstfl; - print "LoadModule authn_file_module modules/mod_authn_file.so" > dstfl; - print "#LoadModule authn_socache_module modules/mod_authn_socache.so" > dstfl; - print "#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so" > dstfl; - print "LoadModule authz_core_module modules/mod_authz_core.so" > dstfl; - print "#LoadModule authz_dbd_module modules/mod_authz_dbd.so" > dstfl; - print "#LoadModule authz_dbm_module modules/mod_authz_dbm.so" > dstfl; - print "LoadModule authz_groupfile_module modules/mod_authz_groupfile.so" > dstfl; - print "LoadModule authz_host_module modules/mod_authz_host.so" > dstfl; - print "#LoadModule authz_owner_module modules/mod_authz_owner.so" > dstfl; - print "LoadModule authz_user_module modules/mod_authz_user.so" > dstfl; - print "LoadModule autoindex_module modules/mod_autoindex.so" > dstfl; - print "#LoadModule buffer_module modules/mod_buffer.so" > dstfl; - print "#LoadModule cache_module modules/mod_cache.so" > dstfl; - print "#LoadModule cache_disk_module modules/mod_cache_disk.so" > dstfl; - print "#LoadModule cern_meta_module modules/mod_cern_meta.so" > dstfl; - print "LoadModule cgi_module modules/mod_cgi.so" > dstfl; - print "#LoadModule charset_lite_module modules/mod_charset_lite.so" > dstfl; - print "#LoadModule data_module modules/mod_data.so" > dstfl; - print "#LoadModule dav_module modules/mod_dav.so" > dstfl; - print "#LoadModule dav_fs_module modules/mod_dav_fs.so" > dstfl; - print "#LoadModule dav_lock_module modules/mod_dav_lock.so" > dstfl; - print "#LoadModule dbd_module modules/mod_dbd.so" > dstfl; - print "#LoadModule deflate_module modules/mod_deflate.so" > dstfl; - print "LoadModule dir_module modules/mod_dir.so" > dstfl; - print "#LoadModule dumpio_module modules/mod_dumpio.so" > dstfl; - print "LoadModule env_module modules/mod_env.so" > dstfl; - print "#LoadModule expires_module modules/mod_expires.so" > dstfl; - print "#LoadModule ext_filter_module modules/mod_ext_filter.so" > dstfl; - print "#LoadModule file_cache_module modules/mod_file_cache.so" > dstfl; - print "#LoadModule filter_module modules/mod_filter.so" > dstfl; - print "#LoadModule headers_module modules/mod_headers.so" > dstfl; - print "#LoadModule heartbeat_module modules/mod_heartbeat.so" > dstfl; - print "#LoadModule heartmonitor_module modules/mod_heartmonitor.so" > dstfl; - print "#LoadModule ident_module modules/mod_ident.so" > dstfl; - print "#LoadModule imagemap_module modules/mod_imagemap.so" > dstfl; - print "LoadModule include_module modules/mod_include.so" > dstfl; - print "#LoadModule info_module modules/mod_info.so" > dstfl; - print "LoadModule isapi_module modules/mod_isapi.so" > dstfl; - print "#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so" > dstfl; - print "#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so" > dstfl; - print "#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so" > dstfl; - print "#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so" > dstfl; - print "#LoadModule ldap_module modules/mod_ldap.so" > dstfl; - print "#LoadModule logio_module modules/mod_logio.so" > dstfl; - print "LoadModule log_config_module modules/mod_log_config.so" > dstfl; - print "#LoadModule log_debug_module modules/mod_log_debug.so" > dstfl; - print "#LoadModule log_forensic_module modules/mod_log_forensic.so" > dstfl; - print "#LoadModule lua_module modules/mod_lua.so" > dstfl; - print "LoadModule mime_module modules/mod_mime.so" > dstfl; - print "#LoadModule mime_magic_module modules/mod_mime_magic.so" > dstfl; - print "LoadModule negotiation_module modules/mod_negotiation.so" > dstfl; - print "#LoadModule proxy_module modules/mod_proxy.so" > dstfl; - print "#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so" > dstfl; - print "#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so" > dstfl; - print "#LoadModule proxy_connect_module modules/mod_proxy_connect.so" > dstfl; - print "#LoadModule proxy_express_module modules/mod_proxy_express.so" > dstfl; - print "#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so" > dstfl; - print "#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so" > dstfl; - print "#LoadModule proxy_html_module modules/mod_proxy_html.so" > dstfl; - print "#LoadModule proxy_http_module modules/mod_proxy_http.so" > dstfl; - print "#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so" > dstfl; - print "#LoadModule ratelimit_module modules/mod_ratelimit.so" > dstfl; - print "#LoadModule reflector_module modules/mod_reflector.so" > dstfl; - print "#LoadModule remoteip_module modules/mod_remoteip.so" > dstfl; - print "#LoadModule request_module modules/mod_request.so" > dstfl; - print "#LoadModule reqtimeout_module modules/mod_reqtimeout.so" > dstfl; - print "#LoadModule rewrite_module modules/mod_rewrite.so" > dstfl; - print "#LoadModule sed_module modules/mod_sed.so" > dstfl; - print "#LoadModule session_module modules/mod_session.so" > dstfl; - print "#LoadModule session_cookie_module modules/mod_session_cookie.so" > dstfl; - print "#LoadModule session_crypto_module modules/mod_session_crypto.so" > dstfl; - print "#LoadModule session_dbd_module modules/mod_session_dbd.so" > dstfl; - print "LoadModule setenvif_module modules/mod_setenvif.so" > dstfl; - print "#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so" > dstfl; - print "#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" > dstfl; - print "#LoadModule socache_dbm_module modules/mod_socache_dbm.so" > dstfl; - print "#LoadModule socache_memcache_module modules/mod_socache_memcache.so" > dstfl; - print "#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" > dstfl; - print "#LoadModule speling_module modules/mod_speling.so" > dstfl; - print "#LoadModule ssl_module modules/mod_ssl.so" > dstfl; - print "#LoadModule status_module modules/mod_status.so" > dstfl; - print "#LoadModule substitute_module modules/mod_substitute.so" > dstfl; - print "#LoadModule unique_id_module modules/mod_unique_id.so" > dstfl; - print "#LoadModule userdir_module modules/mod_userdir.so" > dstfl; - print "#LoadModule usertrack_module modules/mod_usertrack.so" > dstfl; - print "#LoadModule version_module modules/mod_version.so" > dstfl; - print "#LoadModule vhost_alias_module modules/mod_vhost_alias.so" > dstfl; - print "#LoadModule watchdog_module modules/mod_watchdog.so" > dstfl; - print "#LoadModule xml2enc_module modules/mod_xml2enc.so" > dstfl; - continue; - } - gsub( /^SSLMutex.*/, "SSLMutex default" ); - gsub( /@@ServerRoot@@/, serverroot ); - gsub( /@exp_cgidir@/, serverroot "/cgi-bin" ); - gsub( /@exp_sysconfdir@/, serverroot "/conf" ); - gsub( /@exp_errordir@/, serverroot "/error" ); - gsub( /@exp_htdocsdir@/, serverroot "/htdocs" ); - gsub( /@exp_iconsdir@/, serverroot "/icons" ); - gsub( /@exp_manualdir@/, serverroot "/manual" ); - gsub( /@exp_runtimedir@/, serverroot "/logs" ); - if ( gsub( /@exp_logfiledir@/, serverroot "/logs" ) || - gsub( /@rel_logfiledir@/, "logs" ) ) { - gsub( /_log"/, ".log\"" ) - } - gsub( /@rel_runtimedir@/, "logs" ); - gsub( /@rel_sysconfdir@/, "conf" ); - gsub( /\/home\/\*\/public_html/, \ + if ( /@@LoadModule@@/ ) { + print "LoadModule access_compat_module modules/mod_access_compat.so" > dstfl; + print "LoadModule actions_module modules/mod_actions.so" > dstfl; + print "LoadModule alias_module modules/mod_alias.so" > dstfl; + print "LoadModule allowmethods_module modules/mod_allowmethods.so" > dstfl; + print "LoadModule asis_module modules/mod_asis.so" > dstfl; + print "LoadModule auth_basic_module modules/mod_auth_basic.so" > dstfl; + print "#LoadModule auth_digest_module modules/mod_auth_digest.so" > dstfl; + print "#LoadModule authn_anon_module modules/mod_authn_anon.so" > dstfl; + print "LoadModule authn_core_module modules/mod_authn_core.so" > dstfl; + print "#LoadModule authn_dbd_module modules/mod_authn_dbd.so" > dstfl; + print "#LoadModule authn_dbm_module modules/mod_authn_dbm.so" > dstfl; + print "LoadModule authn_file_module modules/mod_authn_file.so" > dstfl; + print "#LoadModule authn_socache_module modules/mod_authn_socache.so" > dstfl; + print "#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so" > dstfl; + print "LoadModule authz_core_module modules/mod_authz_core.so" > dstfl; + print "#LoadModule authz_dbd_module modules/mod_authz_dbd.so" > dstfl; + print "#LoadModule authz_dbm_module modules/mod_authz_dbm.so" > dstfl; + print "LoadModule authz_groupfile_module modules/mod_authz_groupfile.so" > dstfl; + print "LoadModule authz_host_module modules/mod_authz_host.so" > dstfl; + print "#LoadModule authz_owner_module modules/mod_authz_owner.so" > dstfl; + print "LoadModule authz_user_module modules/mod_authz_user.so" > dstfl; + print "LoadModule autoindex_module modules/mod_autoindex.so" > dstfl; + print "#LoadModule buffer_module modules/mod_buffer.so" > dstfl; + print "#LoadModule cache_module modules/mod_cache.so" > dstfl; + print "#LoadModule cache_disk_module modules/mod_cache_disk.so" > dstfl; + print "#LoadModule cern_meta_module modules/mod_cern_meta.so" > dstfl; + print "LoadModule cgi_module modules/mod_cgi.so" > dstfl; + print "#LoadModule charset_lite_module modules/mod_charset_lite.so" > dstfl; + print "#LoadModule data_module modules/mod_data.so" > dstfl; + print "#LoadModule dav_module modules/mod_dav.so" > dstfl; + print "#LoadModule dav_fs_module modules/mod_dav_fs.so" > dstfl; + print "#LoadModule dav_lock_module modules/mod_dav_lock.so" > dstfl; + print "#LoadModule dbd_module modules/mod_dbd.so" > dstfl; + print "#LoadModule deflate_module modules/mod_deflate.so" > dstfl; + print "LoadModule dir_module modules/mod_dir.so" > dstfl; + print "#LoadModule dumpio_module modules/mod_dumpio.so" > dstfl; + print "LoadModule env_module modules/mod_env.so" > dstfl; + print "#LoadModule expires_module modules/mod_expires.so" > dstfl; + print "#LoadModule ext_filter_module modules/mod_ext_filter.so" > dstfl; + print "#LoadModule file_cache_module modules/mod_file_cache.so" > dstfl; + print "#LoadModule filter_module modules/mod_filter.so" > dstfl; + print "#LoadModule headers_module modules/mod_headers.so" > dstfl; + print "#LoadModule heartbeat_module modules/mod_heartbeat.so" > dstfl; + print "#LoadModule heartmonitor_module modules/mod_heartmonitor.so" > dstfl; + print "#LoadModule ident_module modules/mod_ident.so" > dstfl; + print "#LoadModule imagemap_module modules/mod_imagemap.so" > dstfl; + print "LoadModule include_module modules/mod_include.so" > dstfl; + print "#LoadModule info_module modules/mod_info.so" > dstfl; + print "LoadModule isapi_module modules/mod_isapi.so" > dstfl; + print "#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so" > dstfl; + print "#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so" > dstfl; + print "#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so" > dstfl; + print "#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so" > dstfl; + print "#LoadModule ldap_module modules/mod_ldap.so" > dstfl; + print "#LoadModule logio_module modules/mod_logio.so" > dstfl; + print "LoadModule log_config_module modules/mod_log_config.so" > dstfl; + print "#LoadModule log_debug_module modules/mod_log_debug.so" > dstfl; + print "#LoadModule log_forensic_module modules/mod_log_forensic.so" > dstfl; + print "#LoadModule lua_module modules/mod_lua.so" > dstfl; + print "LoadModule mime_module modules/mod_mime.so" > dstfl; + print "#LoadModule mime_magic_module modules/mod_mime_magic.so" > dstfl; + print "LoadModule negotiation_module modules/mod_negotiation.so" > dstfl; + print "#LoadModule proxy_module modules/mod_proxy.so" > dstfl; + print "#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so" > dstfl; + print "#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so" > dstfl; + print "#LoadModule proxy_connect_module modules/mod_proxy_connect.so" > dstfl; + print "#LoadModule proxy_express_module modules/mod_proxy_express.so" > dstfl; + print "#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so" > dstfl; + print "#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so" > dstfl; + print "#LoadModule proxy_html_module modules/mod_proxy_html.so" > dstfl; + print "#LoadModule proxy_http_module modules/mod_proxy_http.so" > dstfl; + print "#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so" > dstfl; + print "#LoadModule ratelimit_module modules/mod_ratelimit.so" > dstfl; + print "#LoadModule reflector_module modules/mod_reflector.so" > dstfl; + print "#LoadModule remoteip_module modules/mod_remoteip.so" > dstfl; + print "#LoadModule request_module modules/mod_request.so" > dstfl; + print "#LoadModule reqtimeout_module modules/mod_reqtimeout.so" > dstfl; + print "#LoadModule rewrite_module modules/mod_rewrite.so" > dstfl; + print "#LoadModule sed_module modules/mod_sed.so" > dstfl; + print "#LoadModule session_module modules/mod_session.so" > dstfl; + print "#LoadModule session_cookie_module modules/mod_session_cookie.so" > dstfl; + print "#LoadModule session_crypto_module modules/mod_session_crypto.so" > dstfl; + print "#LoadModule session_dbd_module modules/mod_session_dbd.so" > dstfl; + print "LoadModule setenvif_module modules/mod_setenvif.so" > dstfl; + print "#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so" > dstfl; + print "#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" > dstfl; + print "#LoadModule socache_dbm_module modules/mod_socache_dbm.so" > dstfl; + print "#LoadModule socache_memcache_module modules/mod_socache_memcache.so" > dstfl; + print "#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" > dstfl; + print "#LoadModule speling_module modules/mod_speling.so" > dstfl; + print "#LoadModule ssl_module modules/mod_ssl.so" > dstfl; + print "#LoadModule status_module modules/mod_status.so" > dstfl; + print "#LoadModule substitute_module modules/mod_substitute.so" > dstfl; + print "#LoadModule unique_id_module modules/mod_unique_id.so" > dstfl; + print "#LoadModule userdir_module modules/mod_userdir.so" > dstfl; + print "#LoadModule usertrack_module modules/mod_usertrack.so" > dstfl; + print "#LoadModule version_module modules/mod_version.so" > dstfl; + print "#LoadModule vhost_alias_module modules/mod_vhost_alias.so" > dstfl; + print "#LoadModule watchdog_module modules/mod_watchdog.so" > dstfl; + print "#LoadModule xml2enc_module modules/mod_xml2enc.so" > dstfl; + continue; + } + gsub( /@@ServerRoot@@/, serverroot ); + gsub( /@exp_cgidir@/, serverroot "/cgi-bin" ); + gsub( /@exp_sysconfdir@/, serverroot "/conf" ); + gsub( /@exp_errordir@/, serverroot "/error" ); + gsub( /@exp_htdocsdir@/, serverroot "/htdocs" ); + gsub( /@exp_iconsdir@/, serverroot "/icons" ); + gsub( /@exp_manualdir@/, serverroot "/manual" ); + gsub( /@exp_runtimedir@/, serverroot "/logs" ); + if ( gsub( /@exp_logfiledir@/, serverroot "/logs" ) || + gsub( /@rel_logfiledir@/, "logs" ) ) { + gsub( /_log"/, ".log\"" ) + } + gsub( /@rel_runtimedir@/, "logs" ); + gsub( /@rel_sysconfdir@/, "conf" ); + gsub( /\/home\/\*\/public_html/, \ usertree "/*/My Documents/My Website" ); - gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" ); - gsub( /@@ServerName@@|www.example.com/, servername ); + gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" ); + gsub( /@@ServerName@@|www.example.com/, servername ); gsub( /@@ServerAdmin@@|you@example.com/, serveradmin ); gsub( /@@DomainName@@|example.com/, domainname ); gsub( /@@Port@@/, serverport ); - gsub( /@@SSLPort@@|443/, serversslport ); + gsub( /@@SSLPort@@|443/, serversslport ); print $0 > dstfl; } close(srcfl); if ( close(dstfl) >= 0 ) { print "Rewrote " srcfl "\n to " dstfl > tstfl; - gsub(/\//, "\\", srcfl); if ( sourceroot != "docs/conf/" ) { - if (system("del \"" srcfl "\"")) { + gsub(/\//, "\\", srcfl); + if (system("del 2>NUL \"" srcfl "\"")) { print "Failed to remove " srcfl > tstfl; } else { print "Successfully removed " srcfl > tstfl; @@ -246,12 +245,12 @@ BEGIN { srcfl = confdefault filelist[conffile] conffile; dstfl = confroot filelist[conffile] conffile; if ( ( getline < dstfl ) < 0 ) { - while ( ( getline < srcfl ) > 0 ) { - print $0 > dstfl; - } + while ( ( getline < srcfl ) > 0 ) { + print $0 > dstfl; + } print "Duplicated " srcfl "\n to " dstfl > tstfl; } else { - print "Existing file " dstfl " preserved" > tstfl; + print "Existing file " dstfl " preserved" > tstfl; } close(srcfl); close(dstfl); @@ -260,7 +259,7 @@ BEGIN { if ( sourceroot != "docs/conf/" ) { srcfl = confdefault "installwinconf.awk"; gsub(/\//, "\\", srcfl); - if (system("del \"" srcfl "\"")) { + if (system("del 2>NUL \"" srcfl "\"")) { print "Failed to remove " srcfl > tstfl; } else { print "Successfully removed " srcfl > tstfl; @@ -268,3 +267,4 @@ BEGIN { } close(tstfl); } + diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in index bee3c139..c0ba1439 100644 --- a/build/rpm/httpd.spec.in +++ b/build/rpm/httpd.spec.in @@ -33,7 +33,7 @@ Group: Development/Libraries Summary: Development tools for the Apache HTTP server. Obsoletes: secureweb-devel, apache-devel Requires: apr-devel, apr-util-devel, pkgconfig, libtool -Requires: httpd = %{epoch}:%{version}-%{release} +Requires: httpd = %{version}-%{release} %description devel The httpd-devel package contains the APXS binary and other files @@ -47,7 +47,7 @@ to install this package. %package manual Group: Documentation Summary: Documentation for the Apache HTTP server. -Requires: httpd = %{epoch}:%{version}-%{release} +Requires: httpd = :%{version}-%{release} Obsoletes: secureweb-manual, apache-manual %description manual @@ -67,7 +67,7 @@ the Apache HTTP Server. Group: System Environment/Daemons Summary: LDAP modules for the Apache HTTP server BuildRequires: openldap-devel -Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn} +Requires: httpd = %{version}-%{release}, httpd-mmn = %{mmn} %description -n mod_authnz_ldap The mod_authnz_ldap module for the Apache HTTP server provides @@ -78,7 +78,7 @@ mod_ldap provides an LDAP cache. Group: System Environment/Daemons Summary: Lua language module for the Apache HTTP server BuildRequires: lua-devel -Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn} +Requires: httpd = %{version}-%{release}, httpd-mmn = %{mmn} %description -n mod_lua The mod_lua module for the Apache HTTP server allows the server to be @@ -87,8 +87,9 @@ extended with scripts written in the Lua programming language. %package -n mod_proxy_html Group: System Environment/Daemons Summary: Proxy HTML filter modules for the Apache HTTP server +Epoch: 1 BuildRequires: libxml2-devel -Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn} +Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmn} %description -n mod_proxy_html The mod_proxy_html module for the Apache HTTP server provides @@ -100,7 +101,7 @@ enhanced charset/internationalisation support for mod_proxy_html. Group: System Environment/Daemons Summary: Distcache shared object cache module for the Apache HTTP server BuildRequires: distcache-devel -Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn} +Requires: httpd = %{version}-%{release}, httpd-mmn = %{mmn} %description -n mod_socache_dc The mod_socache_dc module for the Apache HTTP server allows the shared @@ -109,10 +110,11 @@ object cache to use the distcache shared caching mechanism. %package -n mod_ssl Group: System Environment/Daemons Summary: SSL/TLS module for the Apache HTTP server +Epoch: 1 BuildRequires: openssl-devel Requires(post): openssl, /bin/cat Requires(pre): httpd -Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn} +Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmn} %description -n mod_ssl The mod_ssl module provides strong cryptography for the Apache Web diff --git a/build/rules.mk.in b/build/rules.mk.in index 3dedb9a3..a1804fa9 100644 --- a/build/rules.mk.in +++ b/build/rules.mk.in @@ -22,31 +22,34 @@ # the user-defined flags can always override the configure ones, if needed. # Note that includes are listed after the flags because -I options have # left-to-right precedence and CPPFLAGS may include user-defined overrides. +# The "MOD_" prefixed variable are provided to allow modules to insert their +# (per-subdirectory) settings through definitions in modules.mk, with highest +# precedence. # -ALL_CFLAGS = $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) -ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) -ALL_CXXFLAGS = $(EXTRA_CXXFLAGS) $(NOTEST_CXXFLAGS) $(CXXFLAGS) -ALL_LDFLAGS = $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS) -ALL_LIBS = $(EXTRA_LIBS) $(NOTEST_LIBS) $(LIBS) -ALL_INCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) +ALL_CFLAGS = $(MOD_CFLAGS) $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS) +ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(MOD_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS) +ALL_CXXFLAGS = $(MOD_CXXFLAGS) $(EXTRA_CXXFLAGS) $(NOTEST_CXXFLAGS) $(CXXFLAGS) +ALL_LDFLAGS = $(MOD_LDFLAGS) $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS) +ALL_LIBS = $(MOD_LIBS) $(EXTRA_LIBS) $(NOTEST_LIBS) $(LIBS) +ALL_INCLUDES = $(MOD_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES) # Compile commands BASE_CC = $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(ALL_INCLUDES) BASE_CXX = $(CXX) $(ALL_CXXFLAGS) $(ALL_CPPFLAGS) $(ALL_INCLUDES) -COMPILE = $(BASE_CC) @PICFLAGS@ -CXX_COMPILE = $(BASE_CXX) @PICFLAGS@ +COMPILE = $(BASE_CC) $(PICFLAGS) +CXX_COMPILE = $(BASE_CXX) $(PICFLAGS) -SH_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CC) @SHLTCFLAGS@ -c $< && touch $@ -SH_CXX_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CXX) @SHLTCFLAGS@ -c $< && touch $@ +SH_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CC) $(SHLTCFLAGS) -c $< && touch $@ +SH_CXX_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CXX) $(SHLTCFLAGS) -c $< && touch $@ -LT_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) @LTCFLAGS@ -c $< && touch $@ -LT_CXX_COMPILE = $(LIBTOOL) --mode=compile $(CXX_COMPILE) @LTCFLAGS@ -c $< && touch $@ +LT_COMPILE = $(LIBTOOL) --mode=compile $(COMPILE) $(LTCFLAGS) -c $< && touch $@ +LT_CXX_COMPILE = $(LIBTOOL) --mode=compile $(CXX_COMPILE) $(LTCFLAGS) -c $< && touch $@ # Link-related commands -LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) @PILDFLAGS@ $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ +LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(PILDFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ SH_LINK = $(SH_LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ MOD_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ diff --git a/buildconf b/buildconf index 718cad19..a58845d7 100755 --- a/buildconf +++ b/buildconf @@ -118,7 +118,7 @@ if [ $apr_major_version -lt 2 ] ; then echo "or specify the location of the source with " echo "--with-apr-util=[path to apr-util]:" echo "" - echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk srclib/apr-util" + echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/branches/1.5.x srclib/apr-util" echo "" should_exit=1 fi diff --git a/configure b/configure index f80f5ea7..5a63ddd5 100755 --- a/configure +++ b/configure @@ -740,7 +740,8 @@ MOD_OPTIONAL_FN_IMPORT_LDADD MOD_OPTIONAL_HOOK_IMPORT_LDADD MOD_OPTIONAL_HOOK_EXPORT_LDADD MOD_SSL_LDADD -SSL_LIBS +ab_LDFLAGS +ab_CFLAGS MOD_SLOTMEM_PLAIN_LDADD MOD_SLOTMEM_SHM_LDADD MOD_SESSION_DBD_LDADD @@ -1063,6 +1064,7 @@ enable_slotmem_shm enable_slotmem_plain enable_ssl with_ssl +enable_ssl_staticlib_deps enable_optional_hook_export enable_optional_hook_import enable_optional_fn_import @@ -1089,7 +1091,6 @@ enable_unixd enable_privileges enable_heartbeat enable_heartmonitor -with_module enable_dav enable_status enable_autoindex @@ -1100,6 +1101,7 @@ enable_cgid enable_cgi enable_dav_fs enable_dav_lock +with_module enable_vhost_alias enable_negotiation enable_dir @@ -1878,6 +1880,10 @@ Optional Features: --enable-slotmem-shm slotmem provider that uses shared memory --enable-slotmem-plain slotmem provider that uses plain memory --enable-ssl SSL/TLS support (mod_ssl) + --enable-ssl-staticlib-deps + link mod_ssl with dependencies of OpenSSL's static + libraries (as indicated by "pkg-config --static"). + Must be specified in addition to --enable-ssl. --enable-optional-hook-export example optional hook exporter --enable-optional-hook-import @@ -1958,11 +1964,11 @@ Optional Packages: --with-pcre=PATH Use external PCRE library --with-port=PORT Port on which to listen (default is 80) --with-sslport=SSLPORT Port on which to securelisten (default is 443) - --with-distcache=DIR Distcache installation directory - --with-z=DIR use a specific zlib library - --with-libxml2 location for libxml2 + --with-distcache=PATH Distcache installation directory + --with-z=PATH use a specific zlib library + --with-libxml2=PATH location for libxml2 --with-lua=PATH Path to the Lua 5.1 prefix - --with-ssl=DIR OpenSSL base directory + --with-ssl=PATH OpenSSL installation directory --with-mpm=MPM Choose the process model for Apache to use by default. MPM={event|worker|prefork|winnt} This will be statically linked as the only available MPM @@ -2980,6 +2986,7 @@ HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_relea + # Check whether --enable-layout was given. @@ -6086,6 +6093,11 @@ if test "$PCRE_CONFIG" != "false"; then if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else as_fn_error $? "Did not find pcre-config script at $PCRE_CONFIG" "$LINENO" 5 fi + case `$PCRE_CONFIG --version` in + [1-5].*) + as_fn_error $? "Need at least pcre version 6.0" "$LINENO" 5 + ;; + esac { $as_echo "$as_me:${as_lineno-$LINENO}: Using external PCRE library from $PCRE_CONFIG" >&5 $as_echo "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} @@ -7341,7 +7353,8 @@ strings.h \ sys/prctl.h \ sys/processor.h \ sys/sem.h \ -sys/sdt.h +sys/sdt.h \ +sys/loadavg.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -7619,7 +7632,8 @@ bindprocessor \ prctl \ timegm \ getpgid \ -fopen64 +fopen64 \ +getloadavg do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` @@ -7781,6 +7795,7 @@ DTRACE=true if test "${enable_dtrace+set}" = set; then : enableval=$enable_dtrace; enable_dtrace=$enableval + if test "$enableval" = "yes"; then if test "x$CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DAPR_DTRACE_PROVIDER\"" @@ -7802,7 +7817,8 @@ if test "${enable_dtrace+set}" = set; then : done fi - as_fn_error $? "'DTrace Support in the build system is not complete. Patches Welcome!'" "$LINENO" 5 + as_fn_error $? "'DTrace Support in the build system is not complete. Patches Welcome!'" "$LINENO" 5 + fi else @@ -7833,6 +7849,7 @@ esac # Check whether --enable-hook-probes was given. if test "${enable_hook_probes+set}" = set; then : enableval=$enable_hook_probes; + if test "$enableval" = "yes"; then $as_echo "#define AP_HOOK_PROBES_ENABLED 1" >>confdefs.h @@ -7857,15 +7874,18 @@ $as_echo "#define AP_HOOK_PROBES_ENABLED 1" >>confdefs.h done fi + fi fi # Check whether --enable-exception-hook was given. if test "${enable_exception_hook+set}" = set; then : enableval=$enable_exception_hook; + if test "$enableval" = "yes"; then $as_echo "#define AP_ENABLE_EXCEPTION_HOOK 1" >>confdefs.h + fi fi @@ -7886,6 +7906,7 @@ fi # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; + if test "$enableval" = "yes"; then if test "x$CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DAP_DEBUG\"" @@ -7907,7 +7928,7 @@ if test "${enable_maintainer_mode+set}" = set; then : done fi - if test "$GCC" = "yes"; then + if test "$GCC" = "yes"; then if test "x$CFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CFLAGS to \"-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith\"" @@ -8189,7 +8210,7 @@ $as_echo "$ac_cv_gcc__Werror_format_security" >&6; } fi - elif test "$AIX_XLC" = "yes"; then + elif test "$AIX_XLC" = "yes"; then if test "x$CFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CFLAGS to \"-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro\"" @@ -8211,11 +8232,12 @@ $as_echo "$ac_cv_gcc__Werror_format_security" >&6; } done fi - fi - if test "x$enable_load_all_modules" = "x"; then - LOAD_ALL_MODULES=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 + fi + if test "x$enable_load_all_modules" = "x"; then + LOAD_ALL_MODULES=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&5 $as_echo "$as_me: Maintainer mode setting \"LOAD_ALL_MODULES\" to $LOAD_ALL_MODULES" >&6;} + fi fi fi @@ -8223,6 +8245,7 @@ fi # Check whether --enable-debugger-mode was given. if test "${enable_debugger_mode+set}" = set; then : enableval=$enable_debugger_mode; + if test "$enableval" = "yes"; then if test "x$CPPFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DAP_DEBUG\"" @@ -8244,7 +8267,7 @@ if test "${enable_debugger_mode+set}" = set; then : done fi - if test "$GCC" = "yes"; then + if test "$GCC" = "yes"; then if test "x$CFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CFLAGS to \"-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0\"" @@ -8526,7 +8549,7 @@ $as_echo "$ac_cv_gcc__Werror_format_security" >&6; } fi - elif test "$AIX_XLC" = "yes"; then + elif test "$AIX_XLC" = "yes"; then if test "x$CFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting CFLAGS to \"-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro\"" @@ -8548,6 +8571,7 @@ $as_echo "$ac_cv_gcc__Werror_format_security" >&6; } done fi + fi fi fi @@ -8598,6 +8622,12 @@ $as_echo "$ap_cv_cc_pie" >&6; } fi fi + APACHE_VAR_SUBST="$APACHE_VAR_SUBST PICFLAGS" + + + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST PILDFLAGS" + prefix="$orig_prefix" @@ -8698,6 +8728,9 @@ fi modpath_current=modules/aaa modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d aaa || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -11403,6 +11436,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -11420,6 +11458,9 @@ EOF modpath_current=modules/arch/win32 modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d arch/win32 || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -11563,6 +11604,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -11580,6 +11626,9 @@ EOF modpath_current=modules/cache modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d cache || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -12536,22 +12585,22 @@ $as_echo "$ap_distcache_base" >&6; } fi - if test "x$INCLUDES" = "x"; then - test "x$silent" != "xyes" && echo " setting INCLUDES to \"-I$ap_distcache_base/include\"" - INCLUDES="-I$ap_distcache_base/include" + if test "x$MOD_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_INCLUDES to \"-I$ap_distcache_base/include\"" + MOD_INCLUDES="-I$ap_distcache_base/include" else apr_addto_bugger="-I$ap_distcache_base/include" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $INCLUDES; do + for j in $MOD_INCLUDES; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" - INCLUDES="$INCLUDES $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_INCLUDES" + MOD_INCLUDES="$MOD_INCLUDES $i" fi done fi @@ -12898,6 +12947,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -12915,6 +12969,9 @@ EOF modpath_current=modules/core modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d core || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -13338,6 +13395,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -13354,6 +13416,9 @@ EOF modpath_current=modules/database modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d database || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -13519,6 +13584,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -13535,6 +13605,9 @@ EOF modpath_current=modules/debugging modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d debugging || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -13812,6 +13885,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -13829,6 +13907,9 @@ EOF modpath_current=modules/echo modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d echo || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -13972,6 +14053,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -13988,6 +14074,9 @@ EOF modpath_current=modules/examples modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d examples || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -14533,6 +14622,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -14549,6 +14643,9 @@ EOF modpath_current=modules/experimental modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d experimental || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -14557,6 +14654,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -14574,6 +14676,9 @@ EOF modpath_current=modules/filters modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d filters || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -16489,6 +16594,27 @@ $as_echo "$ap_zlib_base" >&6; } done fi + + if test "x$MOD_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_INCLUDES to \"-I${ap_zlib_base}/include\"" + MOD_INCLUDES="-I${ap_zlib_base}/include" + else + apr_addto_bugger="-I${ap_zlib_base}/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_INCLUDES; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_INCLUDES" + MOD_INCLUDES="$MOD_INCLUDES $i" + fi + done + fi + CPPFLAGS="$CPPFLAGS $INCLUDES" if test "x$LDFLAGS" = "x"; then @@ -16639,7 +16765,6 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } enable_deflate=no - INCLUDES=$ap_save_includes if test "x$ap_zlib_with" = "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ... Error, zlib was missing or unusable" >&5 $as_echo "$as_me: WARNING: ... Error, zlib was missing or unusable" >&2;} @@ -16650,6 +16775,7 @@ $as_echo "$as_me: WARNING: ... Error, zlib was missing or unusable" >&2;} fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + INCLUDES=$ap_save_includes LDFLAGS=$ap_save_ldflags CPPFLAGS=$ap_save_cppflags @@ -16862,22 +16988,22 @@ $as_echo "$ac_cv_libxml2" >&6; } if test "$ac_cv_libxml2" = "yes" ; then - if test "x$CFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting CFLAGS to \"-I${XML2_INCLUDES}\"" - CFLAGS="-I${XML2_INCLUDES}" + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"-I${XML2_INCLUDES}\"" + MOD_CFLAGS="-I${XML2_INCLUDES}" else apr_addto_bugger="-I${XML2_INCLUDES}" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $CFLAGS; do + for j in $MOD_CFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to CFLAGS" - CFLAGS="$CFLAGS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" fi done fi @@ -17092,22 +17218,22 @@ $as_echo "$ac_cv_libxml2" >&6; } if test "$ac_cv_libxml2" = "yes" ; then - if test "x$CFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting CFLAGS to \"-I${XML2_INCLUDES}\"" - CFLAGS="-I${XML2_INCLUDES}" + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"-I${XML2_INCLUDES}\"" + MOD_CFLAGS="-I${XML2_INCLUDES}" else apr_addto_bugger="-I${XML2_INCLUDES}" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $CFLAGS; do + for j in $MOD_CFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to CFLAGS" - CFLAGS="$CFLAGS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" fi done fi @@ -17256,6 +17382,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -17272,6 +17403,9 @@ EOF modpath_current=modules/http modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d http || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -17557,6 +17691,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -17574,6 +17713,9 @@ EOF modpath_current=modules/ldap modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d ldap || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -17819,6 +17961,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -17836,6 +17983,9 @@ EOF modpath_current=modules/loggers modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d loggers || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -18429,6 +18579,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -18445,13 +18600,16 @@ EOF modpath_current=modules/lua modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d lua || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk -lua_objects="lua_apr.lo lua_config.lo mod_lua.lo lua_request.lo lua_vmprep.lo" +lua_objects="lua_apr.lo lua_config.lo mod_lua.lo lua_request.lo lua_vmprep.lo lua_dbd.lo" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_lua" >&5 @@ -19023,26 +19181,30 @@ $as_echo "$as_me: using '${LUA_LIBS}' for Lua Library" >&6;} # Check whether --enable-luajit was given. if test "${enable_luajit+set}" = set; then : enableval=$enable_luajit; - if test "x$CPPFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting CPPFLAGS to \""-DAP_ENABLE_LUAJIT"\"" - CPPFLAGS=""-DAP_ENABLE_LUAJIT"" + if test "$enableval" = "yes"; then + + if test "x$MOD_CPPFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CPPFLAGS to \""-DAP_ENABLE_LUAJIT"\"" + MOD_CPPFLAGS=""-DAP_ENABLE_LUAJIT"" else apr_addto_bugger=""-DAP_ENABLE_LUAJIT"" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $CPPFLAGS; do + for j in $MOD_CPPFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS" - CPPFLAGS="$CPPFLAGS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CPPFLAGS" + MOD_CPPFLAGS="$MOD_CPPFLAGS $i" fi done fi + fi + fi @@ -19050,22 +19212,22 @@ fi if test "x$enable_lua" != "xno" ; then - if test "x$INCLUDES" = "x"; then - test "x$silent" != "xyes" && echo " setting INCLUDES to \"$LUA_CFLAGS\"" - INCLUDES="$LUA_CFLAGS" + if test "x$MOD_INCLUDES" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_INCLUDES to \"$LUA_CFLAGS\"" + MOD_INCLUDES="$LUA_CFLAGS" else apr_addto_bugger="$LUA_CFLAGS" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $INCLUDES; do + for j in $MOD_INCLUDES; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" - INCLUDES="$INCLUDES $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_INCLUDES" + MOD_INCLUDES="$MOD_INCLUDES $i" fi done fi @@ -19211,6 +19373,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -19228,6 +19395,9 @@ EOF modpath_current=modules/metadata modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d metadata || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -20750,6 +20920,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -20766,6 +20941,9 @@ EOF modpath_current=modules/proxy modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d proxy || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -22376,6 +22554,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -22401,6 +22584,9 @@ fi modpath_current=modules/session modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d session || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -23090,6 +23276,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -23108,6 +23299,9 @@ EOF modpath_current=modules/slotmem modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d slotmem || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -23385,6 +23579,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -23401,6 +23600,9 @@ EOF modpath_current=modules/ssl modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d ssl || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -23497,7 +23699,6 @@ $as_echo "$ap_openssl_base" >&6; } saved_CPPFLAGS="$CPPFLAGS" saved_LIBS="$LIBS" saved_LDFLAGS="$LDFLAGS" - SSL_LIBS="" if test -n "$PKGCONFIG"; then saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH" @@ -23506,7 +23707,16 @@ $as_echo "$ap_openssl_base" >&6; } PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}" export PKG_CONFIG_PATH fi - ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`" + # Check whether --enable-ssl-staticlib-deps was given. +if test "${enable_ssl_staticlib_deps+set}" = set; then : + enableval=$enable_ssl_staticlib_deps; + if test "$enableval" = "yes"; then + PKGCONFIG_LIBOPTS="--static" + fi + +fi + + ap_openssl_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors openssl`" if test $? -eq 0; then ap_openssl_found="yes" pkglookup="`$PKGCONFIG --cflags-only-I openssl`" @@ -23532,27 +23742,91 @@ $as_echo "$ap_openssl_base" >&6; } fi - if test "x$INCLUDES" = "x"; then - test "x$silent" != "xyes" && echo " setting INCLUDES to \"$pkglookup\"" - INCLUDES="$pkglookup" + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"$pkglookup\"" + MOD_CFLAGS="$pkglookup" else apr_addto_bugger="$pkglookup" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $INCLUDES; do + for j in $MOD_CFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" - INCLUDES="$INCLUDES $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" + fi + done + fi + + + if test "x$ab_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting ab_CFLAGS to \"$pkglookup\"" + ab_CFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $ab_CFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to ab_CFLAGS" + ab_CFLAGS="$ab_CFLAGS $i" + fi + done + fi + + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L openssl`" + + if test "x$LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$pkglookup\"" + LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" + LDFLAGS="$LDFLAGS $i" + fi + done + fi + + + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$pkglookup\"" + MOD_LDFLAGS="$pkglookup" + else + apr_addto_bugger="$pkglookup" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $MOD_LDFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" fi done fi - pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`" + pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other openssl`" if test "x$LDFLAGS" = "x"; then test "x$silent" != "xyes" && echo " setting LDFLAGS to \"$pkglookup\"" @@ -23575,22 +23849,22 @@ $as_echo "$ap_openssl_base" >&6; } fi - if test "x$SSL_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting SSL_LIBS to \"$pkglookup\"" - SSL_LIBS="$pkglookup" + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$pkglookup\"" + MOD_LDFLAGS="$pkglookup" else apr_addto_bugger="$pkglookup" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $SSL_LIBS; do + for j in $MOD_LDFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to SSL_LIBS" - SSL_LIBS="$SSL_LIBS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" fi done fi @@ -23622,22 +23896,43 @@ $as_echo "$ap_openssl_base" >&6; } fi - if test "x$INCLUDES" = "x"; then - test "x$silent" != "xyes" && echo " setting INCLUDES to \"-I$ap_openssl_base/include\"" - INCLUDES="-I$ap_openssl_base/include" + if test "x$MOD_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_CFLAGS to \"-I$ap_openssl_base/include\"" + MOD_CFLAGS="-I$ap_openssl_base/include" else apr_addto_bugger="-I$ap_openssl_base/include" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $INCLUDES; do + for j in $MOD_CFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to INCLUDES" - INCLUDES="$INCLUDES $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_CFLAGS" + MOD_CFLAGS="$MOD_CFLAGS $i" + fi + done + fi + + + if test "x$ab_CFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting ab_CFLAGS to \"-I$ap_openssl_base/include\"" + ab_CFLAGS="-I$ap_openssl_base/include" + else + apr_addto_bugger="-I$ap_openssl_base/include" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $ab_CFLAGS; do + if test "x$i" = "x$j"; then + apr_addto_duplicate="1" + break + fi + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to ab_CFLAGS" + ab_CFLAGS="$ab_CFLAGS $i" fi done fi @@ -23664,22 +23959,22 @@ $as_echo "$ap_openssl_base" >&6; } fi - if test "x$SSL_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting SSL_LIBS to \"-L$ap_openssl_base/lib\"" - SSL_LIBS="-L$ap_openssl_base/lib" + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"-L$ap_openssl_base/lib\"" + MOD_LDFLAGS="-L$ap_openssl_base/lib" else apr_addto_bugger="-L$ap_openssl_base/lib" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $SSL_LIBS; do + for j in $MOD_LDFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to SSL_LIBS" - SSL_LIBS="$SSL_LIBS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" fi done fi @@ -23707,22 +24002,22 @@ $as_echo "$ap_openssl_base" >&6; } fi - if test "x$SSL_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting SSL_LIBS to \"$ap_platform_runtime_link_flag$ap_openssl_base/lib\"" - SSL_LIBS="$ap_platform_runtime_link_flag$ap_openssl_base/lib" + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$ap_platform_runtime_link_flag$ap_openssl_base/lib\"" + MOD_LDFLAGS="$ap_platform_runtime_link_flag$ap_openssl_base/lib" else apr_addto_bugger="$ap_platform_runtime_link_flag$ap_openssl_base/lib" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $SSL_LIBS; do + for j in $MOD_LDFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to SSL_LIBS" - SSL_LIBS="$SSL_LIBS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" fi done fi @@ -23760,24 +24055,24 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$ac_cv_openssl" = "xyes"; then - ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`" + ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`" - if test "x$SSL_LIBS" = "x"; then - test "x$silent" != "xyes" && echo " setting SSL_LIBS to \"$ap_openssl_libs\"" - SSL_LIBS="$ap_openssl_libs" + if test "x$MOD_LDFLAGS" = "x"; then + test "x$silent" != "xyes" && echo " setting MOD_LDFLAGS to \"$ap_openssl_libs\"" + MOD_LDFLAGS="$ap_openssl_libs" else apr_addto_bugger="$ap_openssl_libs" for i in $apr_addto_bugger; do apr_addto_duplicate="0" - for j in $SSL_LIBS; do + for j in $MOD_LDFLAGS; do if test "x$i" = "x$j"; then apr_addto_duplicate="1" break fi done if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to SSL_LIBS" - SSL_LIBS="$SSL_LIBS $i" + test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_LDFLAGS" + MOD_LDFLAGS="$MOD_LDFLAGS $i" fi done fi @@ -23804,7 +24099,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - APACHE_VAR_SUBST="$APACHE_VAR_SUBST SSL_LIBS" + test "x$silent" != "xyes" && echo " forcing ab_LDFLAGS to \"$MOD_LDFLAGS\"" + ab_LDFLAGS="$MOD_LDFLAGS" + + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST ab_CFLAGS" + + + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST ab_LDFLAGS" @@ -23870,27 +24173,6 @@ $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h fi if test "$ac_cv_openssl" = "yes" ; then - - if test "x$MOD_SSL_LDADD" = "x"; then - test "x$silent" != "xyes" && echo " setting MOD_SSL_LDADD to \"\$(SSL_LIBS)\"" - MOD_SSL_LDADD="\$(SSL_LIBS)" - else - apr_addto_bugger="\$(SSL_LIBS)" - for i in $apr_addto_bugger; do - apr_addto_duplicate="0" - for j in $MOD_SSL_LDADD; do - if test "x$i" = "x$j"; then - apr_addto_duplicate="1" - break - fi - done - if test $apr_addto_duplicate = "0"; then - test "x$silent" != "xyes" && echo " adding \"$i\" to MOD_SSL_LDADD" - MOD_SSL_LDADD="$MOD_SSL_LDADD $i" - fi - done - fi - if test "x$enable_ssl" = "xshared"; then # The only symbol which needs to be exported is the module # structure, so ask libtool to hide everything else: @@ -24039,6 +24321,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -24056,6 +24343,9 @@ EOF modpath_current=modules/test modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d test || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -24758,6 +25048,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -26054,6 +26349,9 @@ esac modpath_current=modules/proxy/balancers modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d proxy/balancers || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -26599,6 +26897,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -27060,6 +27363,9 @@ done modpath_current=modules/arch/unix modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d arch/unix || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -27400,6 +27706,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -27417,6 +27728,9 @@ EOF modpath_current=modules/cluster modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d cluster || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -27725,6 +28039,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -27735,78 +28054,15 @@ EOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra modules" >&5 -$as_echo_n "checking for extra modules... " >&6; } - -# Check whether --with-module was given. -if test "${with_module+set}" = set; then : - withval=$with_module; - as_save_IFS="$IFS"; IFS="," - for mod in $withval - do - modtype=`echo $mod | sed -e's/\(.*\):.*/\1/'` - pkg=`echo $mod | sed -e's/.*:\(.*\)/\1/'` - modfilec=`echo $pkg | sed -e 's;^.*/;;'` - modfileo=`echo $pkg | sed -e 's;^.*/;;' -e 's;\.c$;.o;'` - modpath_current="modules/$modtype" - if test "x$mod" != "x$modpath_current/$modfilec"; then - if test ! -d "$modpath_current"; then - mkdir $modpath_current - echo 'include $(top_srcdir)/build/special.mk' > $modpath_current/Makefile.in - fi - cp $pkg $modpath_current/$modfilec - fi - module=`echo $pkg | sed -e 's;\(.*/\).*mod_\(.*\).c;\2;'` - objects="mod_$module.lo" - # The filename of a convenience library must have a "lib" prefix: - libname="libmod_$module.la" - BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" - if test ! -s "$modpath_current/modules.mk"; then - cat >>$modpath_current/modules.mk<>$modpath_current/modules.mk.tmp<> $modpath_current/modules.mk.tmp - rm $modpath_current/modules.mk - mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk - sed -e "s/\(static =.*\)/\1 $libname/" $modpath_current/modules.mk > $modpath_current/modules.mk.tmp - rm $modpath_current/modules.mk - mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk - fi - MODLIST="$MODLIST $module" - EXTRA_MODLIST="$EXTRA_MODLIST $modtype:$modfilec" - MODULE_DIRS="$MODULE_DIRS $modtype" - - APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $modpath_current/Makefile" - - done - if test ! -z "$EXTRA_MODLIST"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: added:$EXTRA_MODLIST" >&5 -$as_echo "added:$EXTRA_MODLIST" >&6; } - fi - IFS="$as_save_IFS" - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - -fi - - current_dir=dav/main modpath_current=modules/dav/main modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d dav/main || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -27984,6 +28240,11 @@ fi echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -28001,6 +28262,9 @@ fi modpath_current=modules/generators modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d generators || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -29320,6 +29584,11 @@ fi echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -29429,6 +29698,9 @@ EOF modpath_current=modules/dav/fs modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d dav/fs || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -29609,6 +29881,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -29625,6 +29902,9 @@ EOF modpath_current=modules/dav/lock modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d dav/lock || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -29799,6 +30079,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else @@ -29809,6 +30094,71 @@ EOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra modules" >&5 +$as_echo_n "checking for extra modules... " >&6; } + +# Check whether --with-module was given. +if test "${with_module+set}" = set; then : + withval=$with_module; + withval=`echo $withval | sed -e 's/,/ /g'` + for mod in $withval + do + modtype=`echo $mod | sed -e's/\(.*\):.*/\1/'` + pkg=`echo $mod | sed -e's/.*:\(.*\)/\1/'` + modfilec=`echo $pkg | sed -e 's;^.*/;;'` + modfileo=`echo $pkg | sed -e 's;^.*/;;' -e 's;\.c$;.o;'` + modpath_current="modules/$modtype" + if test "x$mod" != "x$modpath_current/$modfilec"; then + if test ! -d "$modpath_current"; then + mkdir $modpath_current + echo 'include $(top_srcdir)/build/special.mk' > $modpath_current/Makefile.in + fi + cp $pkg $modpath_current/$modfilec + fi + module=`echo $pkg | sed -e 's;\(.*/\).*mod_\(.*\).c;\2;'` + objects="mod_$module.lo" + # The filename of a convenience library must have a "lib" prefix: + libname="libmod_$module.la" + BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" + if test ! -s "$modpath_current/modules.mk"; then + cat >>$modpath_current/modules.mk<>$modpath_current/modules.mk.tmp<> $modpath_current/modules.mk.tmp + rm $modpath_current/modules.mk + mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk + sed -e "s/\(static =.*\)/\1 $libname/" $modpath_current/modules.mk > $modpath_current/modules.mk.tmp + rm $modpath_current/modules.mk + mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk + fi + MODLIST="$MODLIST $module" + EXTRA_MODLIST="$EXTRA_MODLIST $modtype:$modfilec" + MODULE_DIRS="$MODULE_DIRS $modtype" + + APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $modpath_current/Makefile" + + done + if test ! -z "$EXTRA_MODLIST"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: added:$EXTRA_MODLIST" >&5 +$as_echo "added:$EXTRA_MODLIST" >&6; } + fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } + +fi + + @@ -29816,6 +30166,9 @@ EOF modpath_current=modules/mappers modpath_static= modpath_shared= + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + eval MOD_$var= + done test -d mappers || $srcdir/build/mkdir.sh $modpath_current > $modpath_current/modules.mk @@ -31053,6 +31406,11 @@ EOF echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk echo "static = $modpath_static" >> $modpath_current/modules.mk echo "shared = $modpath_shared" >> $modpath_current/modules.mk + for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES; do + if eval val=\"\$MOD_$var\"; test -n "$val"; then + echo "MOD_$var = $val" >> $modpath_current/modules.mk + fi + done if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then MODULE_DIRS="$MODULE_DIRS $current_dir" else diff --git a/configure.in b/configure.in index 1d65bd33..40712c0b 100644 --- a/configure.in +++ b/configure.in @@ -226,6 +226,11 @@ if test "$PCRE_CONFIG" != "false"; then if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) fi + case `$PCRE_CONFIG --version` in + [[1-5].*]) + AC_MSG_ERROR([Need at least pcre version 6.0]) + ;; + esac AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) @@ -435,7 +440,8 @@ strings.h \ sys/prctl.h \ sys/processor.h \ sys/sem.h \ -sys/sdt.h +sys/sdt.h \ +sys/loadavg.h ) AC_HEADER_SYS_WAIT @@ -469,7 +475,8 @@ bindprocessor \ prctl \ timegm \ getpgid \ -fopen64 +fopen64 \ +getloadavg ) dnl confirm that a void pointer is large enough to store a long integer @@ -531,8 +538,10 @@ DTRACE=true AC_ARG_ENABLE(dtrace,APACHE_HELP_STRING(--enable-dtrace,Enable DTrace probes), [ enable_dtrace=$enableval - APR_ADDTO(CPPFLAGS, -DAPR_DTRACE_PROVIDER) - AC_MSG_ERROR('DTrace Support in the build system is not complete. Patches Welcome!') + if test "$enableval" = "yes"; then + APR_ADDTO(CPPFLAGS, -DAPR_DTRACE_PROVIDER) + AC_MSG_ERROR('DTrace Support in the build system is not complete. Patches Welcome!') + fi ], [ enable_dtrace=no @@ -556,15 +565,19 @@ APACHE_SUBST(DTRACE) AC_ARG_ENABLE(hook-probes,APACHE_HELP_STRING(--enable-hook-probes,Enable APR hook probes), [ - AC_DEFINE(AP_HOOK_PROBES_ENABLED, 1, - [Enable the APR hook probes capability, reading from ap_hook_probes.h]) - APR_ADDTO(INTERNAL_CPPFLAGS, -DAP_HOOK_PROBES_ENABLED) + if test "$enableval" = "yes"; then + AC_DEFINE(AP_HOOK_PROBES_ENABLED, 1, + [Enable the APR hook probes capability, reading from ap_hook_probes.h]) + APR_ADDTO(INTERNAL_CPPFLAGS, -DAP_HOOK_PROBES_ENABLED) + fi ])dnl AC_ARG_ENABLE(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook), [ - AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1, - [Allow modules to run hook after a fatal exception]) + if test "$enableval" = "yes"; then + AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1, + [Allow modules to run hook after a fatal exception]) + fi ])dnl AC_ARG_ENABLE(load-all-modules,APACHE_HELP_STRING(--enable-load-all-modules,Load all modules), @@ -578,35 +591,39 @@ AC_ARG_ENABLE(load-all-modules,APACHE_HELP_STRING(--enable-load-all-modules,Load AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings and load all compiled modules), [ - APR_ADDTO(CPPFLAGS, -DAP_DEBUG) - if test "$GCC" = "yes"; then - APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith]) - APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement]) - APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement]) - APACHE_ADD_GCC_CFLAG([-Wformat]) - APACHE_ADD_GCC_CFLAG([-Wformat-security]) - APACHE_ADD_GCC_CFLAG([-Werror=format-security]) - elif test "$AIX_XLC" = "yes"; then - APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) - fi - if test "x$enable_load_all_modules" = "x"; then - LOAD_ALL_MODULES=yes - AC_MSG_NOTICE([Maintainer mode setting "LOAD_ALL_MODULES" to $LOAD_ALL_MODULES]) + if test "$enableval" = "yes"; then + APR_ADDTO(CPPFLAGS, -DAP_DEBUG) + if test "$GCC" = "yes"; then + APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith]) + APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement]) + APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement]) + APACHE_ADD_GCC_CFLAG([-Wformat]) + APACHE_ADD_GCC_CFLAG([-Wformat-security]) + APACHE_ADD_GCC_CFLAG([-Werror=format-security]) + elif test "$AIX_XLC" = "yes"; then + APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) + fi + if test "x$enable_load_all_modules" = "x"; then + LOAD_ALL_MODULES=yes + AC_MSG_NOTICE([Maintainer mode setting "LOAD_ALL_MODULES" to $LOAD_ALL_MODULES]) + fi fi ])dnl AC_ARG_ENABLE(debugger-mode,APACHE_HELP_STRING(--enable-debugger-mode,Turn on debugging and compile time warnings and turn off optimization), [ - APR_ADDTO(CPPFLAGS, -DAP_DEBUG) - if test "$GCC" = "yes"; then - APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0]) - APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement]) - APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement]) - APACHE_ADD_GCC_CFLAG([-Wformat]) - APACHE_ADD_GCC_CFLAG([-Wformat-security]) - APACHE_ADD_GCC_CFLAG([-Werror=format-security]) - elif test "$AIX_XLC" = "yes"; then - APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) + if test "$enableval" = "yes"; then + APR_ADDTO(CPPFLAGS, -DAP_DEBUG) + if test "$GCC" = "yes"; then + APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0]) + APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement]) + APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement]) + APACHE_ADD_GCC_CFLAG([-Wformat]) + APACHE_ADD_GCC_CFLAG([-Wformat-security]) + APACHE_ADD_GCC_CFLAG([-Werror=format-security]) + elif test "$AIX_XLC" = "yes"; then + APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) + fi fi ])dnl @@ -630,8 +647,8 @@ if test "$enable_pie" = "yes"; then AC_ERROR([--enable-pie requested but $CC failed using PIE flags]) fi fi -AC_SUBST(PICFLAGS) -AC_SUBST(PILDFLAGS) +APACHE_SUBST(PICFLAGS) +APACHE_SUBST(PILDFLAGS) prefix="$orig_prefix" APACHE_ENABLE_MODULES diff --git a/docs/cgi-examples/printenv b/docs/cgi-examples/printenv index be74feaa..5b5035e2 100644 --- a/docs/cgi-examples/printenv +++ b/docs/cgi-examples/printenv @@ -1,12 +1,15 @@ # # To permit this cgi, replace # on the first line above with the -# appropriate #!/path/to/perl shebang, and set this script executable -# with chmod 755. +# appropriate #!/path/to/perl shebang, and on Unix / Linux also +# set this script executable with chmod 755. # -# Note that it is subject to cross site scripting attacks on MS IE -# and any other browser which fails to honor RFC2616, so never use -# it in a live server environment, it is provided only for testing. +# ***** !!! 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/printenv.vbs b/docs/cgi-examples/printenv.vbs new file mode 100644 index 00000000..9336d432 --- /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 00000000..d982eac2 --- /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 index d92e0ecc..eb80f3e4 100644 --- a/docs/cgi-examples/test-cgi +++ b/docs/cgi-examples/test-cgi @@ -4,9 +4,12 @@ # appropriate #!/path/to/sh shebang, and set this script executable # with chmod 755. # -# Note that it is subject to cross site scripting attacks on MS IE -# and any other browser which fails to honor RFC2616, so never use -# it in a live server environment, it is provided only for testing. +# ***** !!! 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 diff --git a/docs/conf/extra/httpd-ssl.conf.in b/docs/conf/extra/httpd-ssl.conf.in index 673d1aa8..d65889cf 100644 --- a/docs/conf/extra/httpd-ssl.conf.in +++ b/docs/conf/extra/httpd-ssl.conf.in @@ -157,6 +157,14 @@ SSLCertificateKeyFile "@exp_sysconfdir@/server.key" #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 diff --git a/docs/conf/httpd.conf.in b/docs/conf/httpd.conf.in index a46499dd..6e418913 100644 --- a/docs/conf/httpd.conf.in +++ b/docs/conf/httpd.conf.in @@ -148,7 +148,7 @@ DocumentRoot "@exp_htdocsdir@" # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: - # Options FileInfo AuthConfig Limit + # AllowOverride FileInfo AuthConfig Limit # AllowOverride None @@ -406,13 +406,15 @@ Include @rel_sysconfdir@/extra/proxy-html.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin - -# Deal with user agents that deliberately violate open standards # - -BrowserMatch "MSIE 10.0;" bad_DNT - - -RequestHeader unset DNT env=bad_DNT - +# uncomment out the below to deal with user agents that deliberately +# violate open standards by misusing DNT (DNT *must* be a specific +# end-user choice) +# +# +#BrowserMatch "MSIE 10.0;" bad_DNT +# +# +#RequestHeader unset DNT env=bad_DNT +# diff --git a/docs/icons/apache_pb.gif b/docs/icons/apache_pb.gif index 3a1c139f..5e855a9d 100644 Binary files a/docs/icons/apache_pb.gif and b/docs/icons/apache_pb.gif differ diff --git a/docs/icons/apache_pb.png b/docs/icons/apache_pb.png index daa26b0b..fa3f6471 100644 Binary files a/docs/icons/apache_pb.png 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 00000000..a7b963f9 --- /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 index 192ae815..b970badc 100644 Binary files a/docs/icons/apache_pb2.gif and b/docs/icons/apache_pb2.gif differ diff --git a/docs/icons/apache_pb2.png b/docs/icons/apache_pb2.png index e2721037..e5af8fb3 100644 Binary files a/docs/icons/apache_pb2.png and b/docs/icons/apache_pb2.png differ diff --git a/docs/icons/apache_pb2_ani.gif b/docs/icons/apache_pb2_ani.gif deleted file mode 100644 index 177c6c01..00000000 Binary files a/docs/icons/apache_pb2_ani.gif and /dev/null differ diff --git a/docs/man/ab.1 b/docs/man/ab.1 index cf3061dd..88529f62 100644 --- a/docs/man/ab.1 +++ b/docs/man/ab.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "AB" 1 "2012-07-17" "Apache HTTP Server" "ab" +.TH "AB" 1 "2013-01-09" "Apache HTTP Server" "ab" .SH NAME ab \- Apache HTTP server benchmarking tool @@ -27,7 +27,7 @@ ab \- Apache HTTP server benchmarking tool .SH "SYNOPSIS" .PP -\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 ] [ -\fBf\fR \fIprotocol\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBr\fR ] [ -\fBs\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

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.

+ 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
@@ -157,7 +163,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.ht } })(window, document); //-->
+ + + + +
<-
+ +
+

Module Apache mod_authn_dbm

+
+

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

+
+
-attributes\fR ] [ -\fBZ\fR \fIciphersuite\fR ] [http[s]://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR +\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 ] [ -\fBf\fR \fIprotocol\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\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

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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
@@ -236,7 +238,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.h } })(window, document); //-->
+ + + + +
<-
+ +
+

Module Apache mod_authn_anon

+
+

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

+
+
-attributes\fR ] [ -\fBZ\fR \fIciphersuite\fR ] [http[s]://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR .SH "SUMMARY" @@ -94,8 +94,8 @@ When processing more than 150 requests, ab outputs a progress count on stderr ev -r Don't exit on socket receive errors\&. .TP --s -When compiled in (ab -h will show you) use the SSL protected https rather than the http protocol\&. This feature is experimental and \fIvery\fR rudimentary\&. You probably do not want to use it\&. +-s \fItimeout\fR +Maximum number of seconds to wait before the socket times out\&. Default is 30 seconds\&. .TP -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)\&. @@ -104,7 +104,7 @@ Do not display the median and standard deviation values, nor display the warning 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\&. .TP -T \fIcontent-type\fR -Content-type header to use for POST/PUT data, eg\&. application/x-www-form-urlencoded\&. Default: text/plain\&. +Content-type header to use for POST/PUT data, eg\&. application/x-www-form-urlencoded\&. Default is text/plain\&. .TP -u \fIPUT-file\fR File containing data to PUT\&. Remember to also set -T\&. diff --git a/docs/man/dbmmanage.1 b/docs/man/dbmmanage.1 index 88e4a705..a0f9f780 100644 --- a/docs/man/dbmmanage.1 +++ b/docs/man/dbmmanage.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "DBMMANAGE" 1 "2004-12-10" "Apache HTTP Server" "dbmmanage" +.TH "DBMMANAGE" 1 "2012-12-12" "Apache HTTP Server" "dbmmanage" .SH NAME dbmmanage \- Manage user authentication files in DBM format @@ -41,6 +41,9 @@ dbmmanage \- Manage user authentication files in DBM format .PP 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\&. +.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/\&. diff --git a/docs/man/htdbm.1 b/docs/man/htdbm.1 index 010755b4..61a69188 100644 --- a/docs/man/htdbm.1 +++ b/docs/man/htdbm.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTDBM" 1 "2009-03-27" "Apache HTTP Server" "htdbm" +.TH "HTDBM" 1 "2012-12-12" "Apache HTTP Server" "htdbm" .SH NAME htdbm \- Manipulate DBM password databases @@ -27,25 +27,25 @@ htdbm \- Manipulate DBM password databases .SH "SYNOPSIS" .PP -\fBhtdbm\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] [ -\fBx\fR ] \fIfilename\fR \fIusername\fR +\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 .PP -\fBhtdbm\fR -\fBb\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR \fIpassword\fR +\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 .PP -\fBhtdbm\fR -\fBn\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIusername\fR +\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 .PP -\fBhtdbm\fR -\fBnb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIusername\fR \fIpassword\fR +\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 .PP -\fBhtdbm\fR -\fBv\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR +\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 .PP -\fBhtdbm\fR -\fBvb\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBt\fR ] [ -\fBv\fR ] \fIfilename\fR \fIusername\fR \fIpassword\fR +\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 .PP -\fBhtdbm\fR -\fBx\fR [ -\fBT\fR\fIDBTYPE\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] \fIfilename\fR \fIusername\fR +\fBhtdbm\fR -\fBx\fR [ -\fBT\fR\fIDBTYPE\fR ] \fIfilename\fR \fIusername\fR .PP \fBhtdbm\fR -\fBl\fR [ -\fBT\fR\fIDBTYPE\fR ] @@ -62,7 +62,10 @@ htdbm is used to manipulate the DBM format files used to store usernames and pas .TP -b -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\&. +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 -i option\&. +.TP +-i +Read the password from stdin without verification (for script usage)\&. .TP -c Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritten and truncated\&. This option cannot be combined with the -n option\&. @@ -73,11 +76,17 @@ Display the results on standard output rather than updating a database\&. This o -m Use MD5 encryption for passwords\&. On Windows and Netware, this is the default\&. .TP +-B +Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +.TP +-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)\&. +.TP -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\&. +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 \fBinsecure\fR by today's standards\&. .TP -s -Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. +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 -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\&. @@ -85,15 +94,15 @@ Use plaintext passwords\&. Though htdbm will support creation on all platforms, -l Print each of the usernames and comments from the database on stdout\&. .TP --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\&. -.TP -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\&. .TP -x Delete user\&. If the username exists in the specified DBM file, it will be deleted\&. .TP +-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\&. +.TP \fIfilename\fR 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\&. .TP @@ -156,6 +165,15 @@ Web password files such as those managed by htdbm should \fInot\fR be within the .PP The use of the -b option is discouraged, since when it is used the unencrypted password appears on the command line\&. +.PP +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\&. + +.PP +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\&. + +.PP +The SHA and crypt() formats are insecure by today's standards\&. + .SH "RESTRICTIONS" .PP diff --git a/docs/man/htpasswd.1 b/docs/man/htpasswd.1 index b8a4db1d..07fc3a50 100644 --- a/docs/man/htpasswd.1 +++ b/docs/man/htpasswd.1 @@ -19,7 +19,7 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "HTPASSWD" 1 "2012-07-29" "Apache HTTP Server" "htpasswd" +.TH "HTPASSWD" 1 "2012-12-12" "Apache HTTP Server" "htpasswd" .SH NAME htpasswd \- Manage user files for basic authentication @@ -27,16 +27,16 @@ htpasswd \- Manage user files for basic authentication .SH "SYNOPSIS" .PP -\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBm\fR ] [ -\fBD\fR ] \fIpasswdfile\fR \fIusername\fR +\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] \fIpasswdfile\fR \fIusername\fR .PP -\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBd\fR | -\fBp\fR | -\fBs\fR ] [ -\fBD\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR +\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR .PP -\fBhtpasswd\fR -\fBn\fR [ -\fBm\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] \fIusername\fR +\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR .PP -\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] \fIusername\fR \fIpassword\fR +\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR .SH "SUMMARY" @@ -45,10 +45,10 @@ htpasswd \- Manage user files for basic authentication 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\&. .PP -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\&. +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\&. .PP -htpasswd encrypts passwords using either a version of MD5 modified for Apache, or the system's crypt() routine\&. Files managed by htpasswd may contain both types of passwords; some user records may have MD5-encrypted passwords while others in the same file may have passwords encrypted with crypt()\&. +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()\&. .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/\&. @@ -59,7 +59,10 @@ This manual page only lists the command line arguments\&. For details of the dir .TP -b -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\&. +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 -i option\&. +.TP +-i +Read the password from stdin without verification (for script usage)\&. .TP -c Create the \fIpasswdfile\fR\&. If \fIpasswdfile\fR already exists, it is rewritten and truncated\&. This option cannot be combined with the -n option\&. @@ -70,6 +73,12 @@ Display the results on standard output rather than updating a file\&. This is us -m Use MD5 encryption for passwords\&. This is the default\&. .TP +-B +Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&. +.TP +-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)\&. +.TP -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 \fBinsecure\fR by today's standards\&. .TP diff --git a/docs/manual/bind.html.de b/docs/manual/bind.html.de index 00f0eb5d..5aa363d7 100644 --- a/docs/manual/bind.html.de +++ b/docs/manual/bind.html.de @@ -188,7 +188,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/bind.html'; } })(window, document); //--> + + + +
<-
+

Contrle d'accs

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Le contrle d'accs fait rfrence tout concept de contrle + d'accs une ressource quelconque. Il est distinct du processus d'authentification et d'autorisation.

+
+ +
top
+
+

Modules et directives concerns

+ +

Plusieurs modules peuvent intervenir dans le contrle d'accs. + Les plus importants sont mod_authz_core et + mod_authz_host. Ce document illustre aussi comment + utiliser mod_rewrite pour le contrle + d'accs.

+ +
top
+
+

Contrle d'accs en fonction de l'hte du +client

+

+ Si vous souhaitez restreindre l'accs certaines parties de votre + site web en fonction de l'addresse de l'hte 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'accs certaines ressources de diffrentes manires. + Ces critres d'accs, en conjonction avec les directives RequireAll, RequireAny, et RequireNone, peuvent tre + combins d'une manire suffisamment complexe pour + satisfaire votre politique de contrle d'accs.

+ +

+ Les directives Allow, Deny, et Order fournies par le module + mod_access_compat sont obsoltes, et sont appeles + disparatre dans les versions futures. Il est donc dconseill 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 premire forme, nom-hte est un nom de domaine + pleinement qualifi (fqdn), ou un nom de domaine partiel ; vous + pouvez spcifier plusieurs noms de domaines, si vous le dsirez.

+ +

Dans la seconde forme, adresse-ip est une adresse IP + complte, une adresse IP partielle, une paire rseau/masque de + sous-rseau ou une spcification CIDR de la forme rseau/nnn. Il est + possible de spcifier des adresses IPv4 ou IPv6.

+ +

Voir la + documentation de mod_authz_host pour d'autres exemples de cette + syntaxe.

+ +

Vous pouvez insrer le mot-cl not pour inverser un + critre particulier. Notez que le mot not tant la + ngation d'une valeur, il ne peut pas tre utilis pour autoriser + ou interdire une requte, car non vrai ne + sera pas interpret par httpd comme faux. Ainsi, pour interdire la + visite d'une page l'aide d'une ngation, le bloc doit contenir un + lment valu vrai ou faux. + Par exemple, si quelqu'un est en train d'inonder + votre forum de messages indsirables, vous pouvez ajouter cette ligne pour lui refuser + l'accs :

+ +
+<RequireAll>
+    Require all granted
+    Require not ip 10.252.46.165
+</RequireAll>
+
+ + +

Les visiteurs possdant cette adresse (10.252.46.165) ne pourront pas voir le + contenu concern par cette directive. Si vous voulez interdire + l'accs une machine en fonction de son nom, vous pouvez ajouter + ceci :

+ +
Require not host host.example.com
+ + +

Et si vous voulez interdire l'accs un domaine particulier, + vous pouvez spcifier 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 prciser des + critres d'accs plus complexes.

+ +
top
+
+

Contrle d'accs en fonction de variables +arbitraires

+ +

Vous pouvez accorder ou refuser l'accs en fonction de variables + d'environnement arbitraires ou de valeurs d'en-ttes de la requte + en utilisant la directive <If>. Par exemple, pour interdire l'accs en + fonction du user-agent (le type de navigateur), vous pouvez + spcifier ceci :

+ +
+<If "%{HTTP_USER_AGENT} == 'BadBot'">
+    Require All Denied
+</If>
+    
+ + +

Avertissement :

+

Contrler l'accs en fonction de l'en-tte + User-Agent n'est pas une technique fiable, car cet + en-tte peut tre dfini 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 contrle +d'accs

+ +

Le drapeau [F] de la directive RewriteRule permet d'envoyer une + rponse de type 403 Forbidden. Il vous permet donc d'interdire + l'accs une ressource en fonction d'un critre arbitraire.

+ +

Par exemple, pour bloquer l'accs une ressources entre 20h et + 6h du matin, vous pouvez utiliser mod_rewrite :

+ +
+RewriteEngine On
+RewriteCond %{TIME_HOUR} >=20 [OR]
+RewriteCond %{TIME_HOUR} <07
+RewriteRule ^/fridge - [F]
+    
+ + +

Toute requte arrivant aprs 20h ou avant 7h du matin provoquera + l'envoi d'une rponse de type 403 Forbidden. Vous pouvez utiliser + cette technique pour vrifier toutes sortes de critres. En outre, + si vous le prfrez, vous pouvez rediriger ou rcrire la requte.

+ +

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 prfrable pour vous de tenter de l'utiliser + avant de vous tourner vers mod_rewrite.

+ +
top
+
+

Informations complmentaires

+ +

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 dtails.

+ +

De mme, vous devez lire la documentation du module + mod_authz_core pour des exemples de combinaison de + critres d'accs multiples, et en particulier la manire dont ces + derniers interagissent.

+ +

Voir aussi le How-To Authentification and + autorisation.

+
+
+

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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/howto/auth.html.en b/docs/manual/howto/auth.html.en index 32660de0..7508170a 100644 --- a/docs/manual/howto/auth.html.en +++ b/docs/manual/howto/auth.html.en @@ -266,7 +266,7 @@ Require user rbowen 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 program. Many + files can be created and manipulated with the dbmmanage and htdbm programs. Many other types of authentication options are available from third party modules in the Apache Modules Database.

@@ -310,8 +310,9 @@ person in (It's the -c that makes it create a new password file).

-

Now, you need to modify your .htaccess file to - look like the following:

+

Now, you need to modify your .htaccess file or + <Directory> block + to look like the following:

 AuthType Basic
@@ -337,13 +338,7 @@ Require group GroupName
 
     

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. You can even emulate - the group behavior here, by just keeping a separate password - file for each group. The advantage of this approach is that - Apache only has to check one file, rather than two. The - disadvantage is that you have to maintain a bunch of password - files, and remember to reference the right one in the - AuthUserFile directive.

+ and who correctly enters their password.

top

Possible problems

@@ -377,7 +372,7 @@ Require group GroupName you can choose dbm or dbd as your storage format.

-

To select a dbd file rather than a text file, for example:

+

To select a dbm file rather than a text file, for example:

 <Directory /www/docs/private>
@@ -568,11 +563,10 @@ Require group GroupName
         
-

The above example uses the <RequireNone> directive - to make sure that none of the - Require directives - contained within it - match their parameters before granting access.

+

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.

@@ -638,7 +632,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html'; } })(window, document); //-->
+ + + +
<-
+

How-To / Tutoriels

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + zh-cn 

+
+
+
top
+
+

How-To / Tutoriels

+ + + +
+
Authentification et autorisation
+
+

L'authentification reprsente tout processus par lequel vous + vrifiez si quelqu'un correspond bien la personne qu'il + prtend tre. L'autorisation reprsente tout processus + permettant de savoir si une personne est autorise aller l o + elle veut aller, ou obtenir les informations qu'elle demande.

+ +

Voir Authentification, Autorisation

+
+
+ +
+
Contrle d'accs
+
+

Le contrle d'accs se rfre au processus permettant + d'interdire ou d'accorder l'accs une ressource en fonction de + certains critres, et il existe de nombreuses faons d'y + parvenir.

+ +

Voir Contrle d'accs

+
+
+ +
+
Contenu dynamique avec CGI
+
+

L'interface CGI (Common Gateway Interface) + fournit au serveur web une mthode d'interaction avec des + programmes externes gnrateurs de contenu, souvent nomms + programmes CGI ou scripts CGI. Il s'agit de la mthode la plus + simple (et la plus courante) 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 rpertoire. cet + effet, un fichier est plac dans un rpertoire particulier du site + web, et les directives de configuration qu'il contient s'appliquent ce + rpertoire et tous ses sous-rpertoires.

+ +

Voir Fichiers .htaccess

+
+
+ +
+
Introduction au Inclusions ct Serveur (Server Side Includes + ou SSI)
+
+

Les SSI sont des directives que l'on place dans des pages + HTML, et qui sont values par le serveur lorsque ces pages sont + servies. Elles vous permettent d'ajouter du contenu gnr + dynamiquement une page HTML existante, sans avoir servir + l'intgralit de la page via un programme CGI, ou toute autre + technologie dynamique.

+ +

Voir Server Side Includes (SSI)

+
+
+ +
+
Rpertoires web de l'utilisateur
+
+

Sur les systmes multi-utilisateurs, vous pouvez permettre + chaque utilisateur d'avoir un site web dans son rpertoire home + via la directive UserDir. Les visiteurs de l'URL + http://example.com/~nom-utilisateur/ vont recevoir + du contenu situ dans le rpertoire home de l'utilisateur + "nom-utilisateur", et dans le sous-rpertoire + spcifi par la directive UserDir.

+ +

Voir Rpertoires web des utilisateurs (public_html)

+
+
+ +
+
+

Langues Disponibles:  en  | + 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 index 7ac54e98..94d924a2 100644 --- a/docs/manual/howto/index.html.ja.utf8 +++ b/docs/manual/howto/index.html.ja.utf8 @@ -22,6 +22,7 @@ Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.4

How-To / チュートリアル

翻訳済み言語:  en  | + fr  |  ja  |  ko  |  zh-cn 

@@ -113,11 +114,12 @@

翻訳済み言語:  en  | + fr  |  ja  |  ko  |  zh-cn 

+ + + +
<-
+

Formats de mots de passe

+
+

Langues Disponibles:  en  | + fr 

+
+ +

Notes propos des formats de chiffrement des mots de passe + gnrs et compris par Apache.

+
+ +
top
+
+

Authentification de base

+ +

Voici les cinq formats de mots de passe qu'Apache reconnat + pour l'authentification de base. Notez que tous les formats ne sont + pas supports par toutes les plates-formes :

+ +
+ +
bcrypt
+
"$2y$" + the result of the crypt_blowfish algorithm. Driv + de l'algorythme de chiffrement crypt_blowfish. Voir le fichier + source APR crypt_blowfish.c + pour plus de dtails propos de cet algorythme.
+ +
MD5
+
"$apr1$" + le rsultat d'un algorithme spcifique Apache + utilisant un condens MD5 ritr (1000 fois) de combinaisons + varies du mot de passe et d'une source d'entropie sur 32 bits. + Voir le fichier source APR apr_md5.c + pour les dtails de l'algorithme.
+ + +
SHA1
+
"{SHA}" + un condens SHA-1 du mot de passe cod en + Base64. Non sr.
+ +
CRYPT
+
Unix seulement. Utilise la fonction Unix traditionnelle + crypt(3) avec une source d'entropie sur 32 bits + (seuls 12 bits sont utiliss), et seulement les 8 premiers + caractres du mot de passe. Non sr.
+ +
PLAIN TEXT (autrement dit non chiffr)
+
Windows & Netware seulement. Non sr.
+
+

Gnrer 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 +

+ + + +

Gnrer des mots de passe CRYPT and MD5 avec le programme + OpenSSL en ligne de commande

+ + +

OpenSSL connat l'algorithme MD5 spcifique 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 constitue + des deux premiers caractres (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 spcifier monMot-d au lieu de + monMot-de-passe produira le mme rsultat car seuls + les 8 premiers caractres 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 caractre $ suivant (sous + la forme d'une valeur binaire code en Base64 - au maximum 8 + caractres). 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 donnes 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 gnral disponibles, d'autres logiciels peuvent + renseigner une base de donnes avec des mots de passe chiffrs + utilisables par l'authentification basique d'Apache.

+ +

Pour crer 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 +

+ +

PostgreSQL (avec les fonctions contrib/pgcrypto + installes)

+ + '{SHA}'||encode(digest(password,'sha1'),'base64') +

+ + +
top
+
+

Authentification base de condenss

+

Apache ne reconnat qu'un format pour les mots de passe + d'authentification base de condenss - le condens MD5 de la + chane utilisateur:domaine-de-protection:mot-de-passe + sous la forme d'une chane de 32 caractres au format hexadcimal. + 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 donnes pour + mod_dbd

+ +

Comme la fonction MD5 est en gnral disponible, d'autres + logiciels peuvent renseigner une base de donnes avec des mots de + passe chiffrs utilisables par l'authentification base de + condenss d'Apache.

+ +

Pour crer des mots de passe pour l'authentification base de + condenss 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 chane 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 + installes)

+ + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+
+ \ No newline at end of file diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en index 51e3feee..24c4b1e1 100644 --- a/docs/manual/misc/perf-tuning.html.en +++ b/docs/manual/misc/perf-tuning.html.en @@ -200,7 +200,7 @@ DocumentRoot /www/htdocs -

AllowOverride

+

AllowOverride

@@ -989,7 +989,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/misc/perf-tuning.htm } })(window, document); //--> + + + +
<-
+

Standards applicables

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ +

Cette page documente tous les standards applicables que suit le + serveur HTTP Apache, accompagns d'une brve description.

+ +

Pour complter les informations fournies ci-dessous, vous pouvez + consulter les ressources suivantes :

+ + + +

Avertissement

+

Ce document n'est pas encore finalis.

+
+ +
+ +
top
+
+

Recommandations HTTP

+ +

Indpendamment des modules compils et utiliss, 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 ncessaires pour les systmes d'informations + distribus, collaboratifs et hypermdia. Cette RFC documente le + protocole HTTP/1.0.
+ +
RFC 2616 + (Srie de standards)
+ +
Le Protocole de Transfert Hypertexte (Hypertext Transfer + Protocol - HTTP) est un protocole de niveau application pour les + systmes d'informations distribus, collaboratifs et hypermdia. + Cette RFC documente le protocole HTTP/1.1.
+ +
RFC 2396 + (Srie de standards)
+ +
Un Identificateur de Ressource Uniforme (Uniform Resource + Identifier - URI) est une chane de caractres compacte permettant + d'identifier une ressource physique ou abstraite.
+ +
RFC 4346 + (Srie de standards)
+ +
Le protocole TLS permet l'utilisation de communications + scurises sur l'Internet. Il fournit le chiffrement, et a t + conu pour se prmunir 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 rsume l'historique du dveloppement de HTML, et + dfinit le type MIME "text/html" en pointant les recommandations + W3C correspondantes.
+ +
Spcification HTML + 4.01 + (Corrections + d'erreurs) +
+ +
Cette spcification dfinit le Langage Balises HyperTexte + (HyperText Markup Language - HTML), le langage de publication du + World Wide Web. Elle dfinit HTML 4.01, qui est une sous-version + de HTML 4.
+ +
Rfrence HTML + 3.2
+ +
Le langage Balises HyperTexte (HyperText Markup Language - + HTML) est un langage balises simple permettant de crer 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 dfinit un nouveau type de document XHTML + bas sur le cadre de dveloppement des modules et les modules + dfinis dans la modularisation de XHTML.
+ +
XHTML 1.0, le Langage + Balises Hypertexte Extensible (Extensible HyperText Markup + Language) - Seconde dition + (Corrections + d'erreurs) +
+ +
Cette spcification dfinit 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 dfinies par HTML 4.
+
+ +
top
+
+

Authentification

+ +

En ce qui concerne les diffrentes mthodes d'authentification, + Apache respecte les recommandations IETF suivantes :

+ +
+
RFC 2617 + (Le track des standards)
+ +
"HTTP/1.0", y compris la spcification d'un protocole basique + d'authentification et de contrle d'accs.
+ +
+ +
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 + reprsenter les noms des langues ; le premier est + un jeu de codes sur deux lettres (639-1), le second (celui + prsent dans le lien ci-dessus), est un jeu de codes sur trois + lettres (639-2).
+ +
+ ISO 3166-1
+ +
Ce document prsente les noms de pays (les noms raccourcis + officiels en anglais) dans l'ordre alphabtique, tels qu'ils sont + prsents dans la norme ISO 3166-1 et les lments de codes + correspondants de la norme ISO 3166-1-alpha-2.
+ +
BCP 47 + (Les meilleurs pratiques courantes), + RFC 3066
+ +
Ce document dcrit une balise de langue permettant de + spcifier la langue utilis dans un objet contenant des + informations, la manire d'enregistrer des valeurs utiliser dans + cette balise de langage, et une mthode pour comparer les balises + de langue de ce style.
+ +
RFC 3282 + (Srie de standards)
+ +
Ce document dfinit un en-tte "Content-language:" permettant + de spcifier le langage d'un lment possdant des en-ttes du + style RFC 822, comme les portions de corps MIME ou les documents + Web, et un en-tte "Accept-Language:" permettant de spcifier des + prfrences en matire 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 93a7758a..d0127535 100644 --- a/docs/manual/misc/relevant_standards.html.ko.euc-kr +++ b/docs/manual/misc/relevant_standards.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Miscellaneous Documentation

ǥ

ֽ ƴմϴ. @@ -189,6 +190,7 @@
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
+ + + +
<-
+

Termes utiliss pour la description des directives

+
+

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

+
+ +

Ce document dcrit les termes utiliss pour dcrire chaque directive de configuration d'Apache.

+
+ +
top
+
+

Description

+ +

Une brve description des fonctions de cette directive.

+
top
+
+

Syntaxe

+ +

Ce terme introduit le format sous lequel la directive doit + apparatre dans le fichier de configuration. Cette syntaxe est trs + spcifique la directive et est dcrite en dtail dans la + dfinition de cette dernire. En gnral, le nom de la directive est + suivi d'un ou plusieurs arguments spars par des espaces. Si un + argument contient un espace, il doit tre entour de guillemets. Les + arguments optionnels sont entours de crochets. Lorsqu'un argument + accepte une valeur parmi une liste de valeurs possibles, cette liste + est spcifie en sparant les valeurs par une barre verticale "|". + Les textes littraux sont prsents dans la fonte par dfaut, alors + que les types d'argument pour lesquels une substitution est + ncessaire sont en gras. La syntaxe des directives + acceptant un nombre variable d'arguments se terminent par "...", ce + qui indique que le dernier argument peut tre rpt.

+ +

Les directives utilisent un grand nombre de types d'arguments + diffrents. Les plus courants sont dfinis ci-dessous.

+ +
+
URL
+ +
Un Localisateur de Ressource Uniforme (Uniform Resource + Locator) complet comportant un protocole, un nom d'hte 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'hte comme dans /chemin/vers/fichier.html. Le + chemin-URL reprsente la ressource vue du web, et est + diffrente de la reprsentation de cette mme ressource vue du + systme de fichiers.
+ +
chemin-fichier
+ +
Le chemin d'un fichier dans le systme de fichiers local + commenant par le rpertoire 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 considr comme relatif au rpertoire dfini + par la directive ServerRoot.
+ +
chemin-rpertoire
+ +
Le chemin d'un rpertoire dans le systme de fichiers local + commenant par le rpertoire 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 dfinition de la directive spcifiera quoi + regex sera compare.
+ +
extension
+ +
En gnral, c'est la partie du nom de fichier qui + suit le dernier point. Cependant, Apache reconnat plusieurs + extensions de noms de fichiers ; ainsi, si un nom de + fichier + contient plusieurs points, chacune des parties du nom de fichier + spares par des points et situe aprs 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 spcifier les extensions avec ou sans + le point initial. Enfin, les extensions ne sont pas + sensibles la casse.
+ +
MIME-type
+ +
Une mthode de description du format d'un fichier consistant + en un type de format majeur et un type de format mineur spars + par un slash comme dans text/html.
+ +
env-variable
+ +
Le nom d'une variable + d'environnement dfinie au cours du processus de configuration + d'Apache. Notez qu'elle peut tre diffrente d'une variable + d'environnement du systme d'exploitation. Voir la documentation sur les variables d'environnement + pour plus de dtails.
+
+
top
+
+

Dfaut

+ +

Si la directive possde une valeur par dfaut (en d'autres + termes, si le serveur Web Apache se comporte comme si vous l'aviez + dfinie une valeur particulire, alors que vous l'avez omise dans + votre configuration), elle est spcifie ici. Si la directive ne + possde pas de valeur par dfaut, cette section doit spcifier + "Aucune". Notez que la valeur par dfaut dont il est + question n'est pas ncessairement la mme que la valeur attribue + la directive dans le fichier httpd.conf par dfaut 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 spares par des virgules :

+ +
+
configuration du serveur
+ +
Signifie que la directive peut tre utilise dans les fichiers + de configuration du serveur (par exemple httpd.conf), + mais pas l'intrieur d'un conteneur <VirtualHost> ou <Directory>. De mme, elle + n'est pas valide dans les fichiers .htaccess.
+ +
serveur virtuel
+ +
Signifie que la directive peut apparatre l'intrieur d'un + conteneur <VirtualHost> dans les fichiers de + configuration du serveur.
+ +
rpertoire
+ +
Une directive spcifie comme valide dans ce contexte peut + tre utilise l'intrieur de conteneurs <Directory>, <Location>, <Files>, et <Proxy> dans les + fichiers de configuration du serveur, en tenant compte des + restrictions prcises dans la documentation sur les Sections de configuration.
+ +
.htaccess
+ +
Si une directive est valide dans ce contexte, cela signifie + qu'elle peut apparatre l'intrieur de fichiers de configuration + de niveau rpertoire .htaccess. Elle sera ou + ne sera pas traite, selon la dfinition de l'option overrides pour le contexte courant.
+
+ +

La directive n'est autorise que dans le contexte + dsign ; si vous essayez de l'utiliser ailleurs, vous gnrerez une + erreur de configuration qui va soit empcher le serveur de traiter + les requtes correctement dans ce contexte, soit tout simplement + empcher le serveur de fonctionner -- en d'autres termes, le serveur + refusera de dmarrer.

+ +

Les lieux de dfinition valides pour une directive rsultent en + fait d'un + OU logique de tous les contextes spcifis. En d'autres termes, une + directive spcifie comme valide dans "configuration du + serveur, .htaccess" peut tre utilise 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 traite lorsqu'elle + apparat dans un fichier .htaccess. Si le context de la directive ne lui permet pas + d'apparatre dans un fichier .htaccess, aucun contexte + ne sera spcifi.

+ +

Les autorisations de surcharge sont actives via la directive + AllowOverride, et possdent une + porte particulire, comme un rpertoire et tous ses + sous-rpertoires, sauf si une autre directive AllowOverride apparat un niveau + infrieur. La documentation pour cette directive spcifie 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 supplmentaires pour + pouvoir utiliser la directive, et ainsi accder ses + fonctionnalits. 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 spcifis dans la ligne Module de la + dfinition de la directive.
+ +
Base
+ +
Une directive dont le statut est "Base" est fournie par un des + modules Apache standards qui sont compils dans le serveur par + dfaut, 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 compils dans le serveur par dfaut. Pour activer la + directive et accder ses fonctionnalits, vous devez modifier + les fichiers de configuration de la compilation du serveur, et + recompiler Apache.
+ +
Exprimental
+ +
Le statut "Exprimental" indique que la directive fait partie + du kit Apache, mais que vous l'utilisez vos risques et prils. + La directive est documente titre d'exhaustivit, et n'est pas + obligatoirement supporte. Le module qui fournit la directive peut + tre compil par dfaut dans le serveur ou non ; consultez le haut + de la page qui dcrit la directive et son module pour vrifier 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 indique ici. Cette section indique aussi si la + directive n'est disponible que sur certaines plates-formes.

+
+
+

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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 446ecfce..8ba905bf 100644 --- a/docs/manual/mod/directive-dict.html.ja.utf8 +++ b/docs/manual/mod/directive-dict.html.ja.utf8 @@ -22,6 +22,7 @@ Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.4

ディレクティブの解説に使われる用語

翻訳済み言語:  en  | + fr  |  ja  |  ko  |  tr 

@@ -297,6 +298,7 @@

翻訳済み言語:  en  | + fr  |  ja  |  ko  |  tr 

@@ -318,7 +320,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directive-dict.h } })(window, document); //-->
+ + + +
<-
+

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 rfrences ici. Elles sont dcrites en utilisant un + format normalis, et un dictionnaire des termes utiliss dans leurs + descriptions est disponible. +

+ +

+ Un Document de rfrence rapide des directives + est galement disponible. Il donne des dtails propos de chaque directive + sous une forme abrge. +

+ +

 A  |  B  |  C  |  D  |  E  |  F  |  G  |  H  |  I  |  K  |  L  |  M  |  N  |  O  |  P  |  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 6854dd79..d235963a 100644 --- a/docs/manual/mod/directives.html.ja.utf8 +++ b/docs/manual/mod/directives.html.ja.utf8 @@ -24,6 +24,7 @@

翻訳済み言語:  de  |  en  |  es  | + fr  |  ja  |  ko  |  tr  | @@ -144,6 +145,7 @@

  • AuthzSendForbiddenOnFailure
  • BalancerGrowth
  • BalancerMember
  • +
  • BalancerPersist
  • BrowserMatch
  • BrowserMatchNoCase
  • BufferedLogs
  • @@ -330,6 +332,7 @@
  • LogFormat
  • LogLevel
  • LogMessage
  • +
  • LuaAuthzProvider
  • LuaHookAccessChecker
  • LuaHookAuthChecker
  • LuaHookCheckUserID
  • @@ -339,7 +342,6 @@
  • LuaHookTranslateName
  • LuaHookTypeChecker
  • LuaInherit
  • -
  • LuaMapHandler
  • LuaPackageCPath
  • LuaPackagePath
  • LuaQuickHandler
  • @@ -563,6 +565,8 @@
  • SSLSessionCache
  • SSLSessionCacheTimeout
  • SSLSessionTicketKeyFile
  • +
  • SSLSRPUnknownUserSeed
  • +
  • SSLSRPVerifierFile
  • SSLStaplingCache
  • SSLStaplingErrorCacheTimeout
  • SSLStaplingFakeTryLater
  • @@ -616,6 +620,7 @@

    翻訳済み言語:  de  |  en  |  es  | + fr  |  ja  |  ko  |  tr  | @@ -638,7 +643,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/directives.html' } })(window, document); //-->

    + + + + +
    <-
    + +
    +

    Module Apache mod_allowmethods

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + +
    Description:Ce module permet de restreindre aisment les mthodes HTTP +pouvant tre utilises sur le serveur
    Statut:Exprimental
    IdentificateurdeModule:allowmethods_module
    FichierSource:mod_allowmethods.c
    +

    Sommaire

    + +

    Ce module permet de restreindre aisment les mthodes HTTP +pouvant tre utilises sur le serveur. La configuration la plus courante +est du style :

    + +
    +<Location />
    +   AllowMethods GET POST OPTIONS
    +</Location>
    +
    + + +
    +

    Directives

    + +
    + +
    top
    +

    AllowMethods Directive

    + + + + + + + +
    Description:Restreint l'accs aux mthodes HTTP spcifies
    Syntaxe:AllowMethods reset|HTTP-method +[HTTP-method]...
    Dfaut:AllowMethods reset
    Contexte:rpertoire
    Statut:Exprimental
    Module:mod_allowmethods
    + +

    Les noms des mthodes HTTP sont sensibles la casse, et sont en +gnral dfinis en majuscules, comme dans les RFCs. Les mthodes GET et +HEAD sont considres comme quivalentes. Le mot-cl +reset permet de dsactiver +mod_allowmethods dans les niveaux infrieurs +d'imbrication :

    + +
    +<Location /svn>
    +   AllowMethods reset
    +</Location>
    +
    + + +

    Avertissement

    +

    La mthode TRACE ne peut pas tre rejete par ce module ; pour ce + faire, vous devez utiliser la directive TraceEnable.

    +
    + +

    Le module mod_allowmethods a t crit pour +remplacer l'implmentation "bricole" 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_asis.html.en b/docs/manual/mod/mod_asis.html.en index a2ff4bfa..1fab2340 100644 --- a/docs/manual/mod/mod_asis.html.en +++ b/docs/manual/mod/mod_asis.html.en @@ -132,7 +132,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_asis.html'; } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_auth_form

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Authentification l'aide d'un formulaire
    Statut:Base
    IdentificateurdeModule:auth_form_module
    FichierSource:mod_auth_form.c
    Compatibilit:Disponible partir d'Apache 2.3
    +

    Sommaire

    + +

    Avertissement

    +

    L'authentification base de formulaire dpend 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 caractre + 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 les accs, au moyen d'un formulaire de + connexion HTML, en recherchant les utilisateurs auprs des fournisseurs + spcifis. Les formulaires HTML requirent + davantage de configuration que les mthodes d'authentification + alternatives, mais ils peuvent s'avrer 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 succs, ses + informations de connexion sont stocks dans une session fournie par + le module mod_session. +

    + +
    + +
    top
    +
    +

    Configuration de base

    + +

    Pour protger une URL particulire avec le module + mod_auth_form, vous devez dterminer l'endroit o + vous allez stocker votre session, ainsi que la mthode + d'authentification. Dans cet exemple simple, les informations de + connexion sont stockes 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 sera redirig vers la page du formulaire de + connexion.

    + +

    Exemple simple

    +AuthFormProvider file
    +AuthUserFile conf/passwd
    +AuthType form
    +AuthName realm
    +AuthFormLoginRequiredLocation http://example.com/login.html
    +Session On
    +SessionCookieName session path=/
    +SessionCryptoPassphrase secret
    +        
    +
    + +

    L'authentification mod_auth_form est active + en affectant la valeur form la directive AuthType. Les directives + AuthFormProvider et + AuthUserFile + spcifient que les noms d'utilisateurs et mots de passe seront + vrifis en utilisant le fichier choisi.

    + +

    Les directives Session, SessionCookieName et + SessionCryptoPassphrase + crent une session chiffre stocke dans un cookie HTTP au niveau + du navigateur. Pour plus d'informations propos des diffrentes + options de configuration des sessions, reportez-vous la + documentation du module mod_session.

    + +

    Dans l'exemple simple ci-dessus, une URL a t protge par + mod_auth_form, mais on doit maintenant fournir + l'utilisateur un moyen de saisir un nom et un mot de passe. cet + effet, on peut soit crire une page de connexion indpendante + ddie, soit inclure le formulaire de connexion dans la page + courante.

    +
    top
    +
    +

    Page de connexion ddie

    + +

    Le formulaire de connexion peut tre contenu dans une page + indpendante, ou tre inclus dans la page courante.

    + +

    Lorsque la connexion s'effectue partir d'une page + indpendante 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 gnral, 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">
    + Utilisateur : <input type="text" name="httpd_username" value="" />
    + Mot de passe: <input type="password" name="httpd_password" value="" />
    + <input type="submit" name="login" value="Connexion" />
    + </form>
    +

    + +

    La partie o s'effectue la connexion proprement dite est + traite 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/success.html
    +    AuthFormProvider file
    +    AuthUserFile conf/passwd
    +    AuthType form
    +    AuthName realm
    +    Session On
    +    SessionCookieName session path=/
    +    SessionCryptoPassphrase secret
    +</Location>
    +        
    +
    + +

    L'URL spcifie par la directive AuthFormLoginRequiredLocation + rfrencera en gnral une page expliquant l'utilisateur que sa + tentative de connexion a chou, et qu'il doit la renouveler. La + directive AuthFormLoginSuccessLocation + spcifie l'URL vers laquelle l'utilisateur doit tre redirig s'il + s'est authentifi avec succs.

    + +

    Alternativement, l'URL vers laquelle doit tre redirig + l'utilisateur s'il s'est authentifi avec succs peut tre + intgre dans le formulaire de connexion, comme dans l'exemple + ci-dessous. Il en dcoule que le mme gestionnaire + form-login-handler pourra tre utilis pour diffrentes + zones du site web.

    + +

    Exemple de formulaire de login avec page cible

    + <form method="POST" action="/dologin.html">
    + + Utilisateur : <input type="text" name="httpd_username" value="" />
    + Mot de passe : <input type="password" name="httpd_password" value="" />
    + <input type="submit" name="login" value="Connexion" />
    + <input type="hidden" name="httpd_location" value="http://example.com/success.html" />
    +
    + </form>
    +

    + +
    top
    +
    +

    Connexion la vole

    + +

    Avertissement

    +

    Il existe un risque, dans certaines circonstances, que le + formulaire de connexion configur pour une connexion la vole + soit soumis plusieurs fois, rvlant de ce fait les paramtres + de connexion l'application sous-jacente. L'administrateur doit + s'assurer que cette dernire est correctement scurise afin + d'viter les ventuels abus. En cas de doute, utilisez une page + de connexion indpendante ddie.

    +
    + +

    Comme alternative la page de connexion ddie pour un site + web, il est possible de configurer mod_auth_form + pour authentifier les utilisateurs la vole, 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'avrer + utile dans le cas d'une session limite dans le temps, si le dlai + de la session a expir pendant la requte de l'utilisateur. Ce + dernier peut alors se rauthentifier la mme place, et + poursuivre son activit partir du point o il en tait rest.

    + +

    Si un utilisateur non authentifi tente d'accder une page + protge 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 + accder cette page.

    + +

    Pour configurer l'authentification la vole, 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 vole

    +AuthFormProvider file
    +ErrorDocument 401 /login.shtml
    +AuthUserFile conf/passwd
    +AuthType form
    +AuthName realm
    +AuthFormLoginRequiredLocation http://example.com/login.html
    +Session On
    +SessionCookieName session path=/
    +SessionCryptoPassphrase secret
    +        
    +
    + +

    La page du message d'erreur doit contenir un formulaire de + connexion dont la proprit action est vide, comme dans l'exemple + ci-dessous. Ceci a pour effet de soumettre le formulaire l'URL + protge originale, cette dernire n'ayant pas besoin d'tre + connue de la page en cours.

    + +

    Exemple de formulaire de connexion la vole

    + <form method="POST" action="">
    + + Utilisateur : <input type="text" name="httpd_username" value="" />
    + Mot de passe : <input type="password" name="httpd_password" value="" />
    + <input type="submit" name="login" value="Connexion" />
    +
    + </form>
    +

    + +

    Lorsque l'utilisateur final a entr ses informations de + connexion, le formulaire effectue une requte HTTP POST pour l'URL + originale protge par mot de passe. + mod_auth_form va alors intercepter cette requte + POST, et dans le cas o des champs HTML Utilisateur et Mot de + passe corrects sont prsents, l'utilisateur sera connect, et + l'URL originale protge par mot de passe lui sera retourne en + tant que requte GET.

    + +
    top
    +
    +

    Connexion la vole avec + conservation du contenu

    + +

    Il existe une limite la technique de connexion la vole + dcrite ci-dessus ; si un formulaire HTML POST entrane une + demande d'authentification ou de rauthentification, le contenu du + formulaire original envoy par le navigateur sera perdu. Cela peut + s'avrer plus ou moins gnant pour l'utilisateur final selon la + fonction du site web.

    + +

    Comme solution ce problme, mod_auth_form + permet d'intgrer la mthode et le contenu de la requte originale + dans le formulaire de connexion. Si l'authentification russit, + Apache httpd pourra refaire une tentative avec la mthode et le contenu + originaux, tout en conservant l'tat de la requte originale.

    + +

    Pour mettre en oeuvre la conservation du contenu, vous devez + ajouter trois champs supplmentaires au formulaire de connexion + comme dans l'exemple suivant :

    + +

    Exemple de formulaire avec conservation du + contenu

    + <form method="POST" action="">
    + + Utilisateur : <input type="text" name="httpd_username" value="" />
    + Mot de passe : <input type="password" name="httpd_password" value="" />
    + <input type="submit" name="login" value="Connexion" />
    + <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 manire dont la mthode, le type MIME et le contenu de la + requte originale seront intgrs dans le formulaire de connexion + vont dpendre de la plate-forme et de la technologie utilises 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 intgrer les variables dans le + formulaire.

    + +

    Une autre option consiste prsenter 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
    +
    +

    Dconnexion

    + +

    Pour permettre un utilisateur de se dconnecter d'une session + particulire, vous devez configurer une page pour qu'elle soit + traite par le gestionnaire form-logout-handler. Tout + accs cette URL va entraner la suppression de l'Utilisateur et + du Mot de passe de la session courante, ce qui aura pour effet de + dconnecter l'utilisateur.

    + +

    Vous pouvez spcifier une URL vers laquelle le navigateur sera + redirig en cas de dconnection russie, en dfinissant la + directive AuthFormLogoutLocation. Cette + URL devra expliquer l'utilisateur qu'il a t dconnect, et lui + donner la possibilit de se connecter nouveau.

    + +

    Exemple simple de configuration de la + dconnexion

    +SetHandler form-logout-handler
    +AuthName realm
    +AuthFormLogoutLocation http://example.com/loggedout.html
    +Session On
    +SessionCookieName session path=/
    +SessionCryptoPassphrase secret
    +        
    +
    + +

    Notez que la dconnexion 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 rsulte est vide, elle sera + probablement supprime, mais ce n'est pas garanti. Si vous voulez + tre sr que la session sera supprime, affectez une petite valeur + la directive SessionMaxAge, par exemple 1 + (affecter cette directive la valeur zro signifie une session + sans limite d'ge). +

    + +

    Exemple simple avec dure de validit de session + limite

    +SetHandler form-logout-handler
    +AuthFormLogoutLocation http://example.com/loggedout.html
    +Session On
    +SessionMaxAge 1
    +SessionCookieName session path=/
    +SessionCryptoPassphrase secret
    +        
    +
    + +
    top
    +
    +

    Noms d'utilisateurs et mots de + passe

    +

    Notez que la soumission d'un formulaire implique l'encodage URL + (URLEncoding) des donnes 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 caractres susceptibles + d'tre encods URL lors de la soumission du formulaire, sous peine + d'obtenir des rsultats inattendus.

    +
    +
    top
    +

    AuthFormAuthoritative Directive

    + + + + + + + + +
    Description:Dtermine si l'autorisation et l'authentification sont confis +des modules de plus bas niveau
    Syntaxe:AuthFormAuthoritative On|Off
    Dfaut:AuthFormAuthoritative On
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_auth_form
    +

    Normalement, chacun des modules d'autorisation spcifis par la + directive AuthFormProvider va tenter de + vrifier l'identit de l'utilisateur, et si ce dernier n'est trouv + dans aucun fournisseur, l'accs sera refus. En dfinissant + 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 rgle ne + correspond l'identifiant utilisateur fourni. Ceci ne peut s'avrer + ncessaire 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 + dtermine dans leur code source, et n'est pas configurable.

    + +
    +
    top
    +

    AuthFormBody Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire contenant le corps de la +requte effectuer en cas de connexion russie
    Syntaxe:AuthFormBody nom du champ
    Dfaut:httpd_body
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormBody permet de + spcifier le nom du champ HTML qui, s'il existe, contiendra le corps + de la requte effectuer en cas de connexion russie.

    + +

    En ajoutant au formulaire les champs dcrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requte qui a t ventuellement interrompue + par l'cran de connexion, ou par l'expiration d'un dlai de + session.

    + +
    +
    top
    +

    AuthFormDisableNoStore Directive

    + + + + + + + + +
    Description:Dsactive l'en-tte CacheControl no-store sur la page de +connexion
    Syntaxe:AuthFormDisableNoStore On|Off
    Dfaut:AuthFormDisableNoStore Off
    Contexte:rpertoire
    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-tte Cache-Control no-store lorsqu'une + page avec code d'erreur 401 est renvoye si l'utilisateur n'est pas + encore connect. Avec cet en-tte, il est plus difficile pour une + application ecmascript de resoumettre un formulaire de connexion, et + ainsi rvler le nom d'utilisateur et le mot de passe + l'application sous-jacente. Vous devez tre conscient des risques + encourus si vous le dsactivez.

    + + +
    +
    top
    +

    AuthFormFakeBasicAuth Directive

    + + + + + + + + +
    Description:Simule un en-tte d'authentification de base
    Syntaxe:AuthFormFakeBasicAuth On|Off
    Dfaut:AuthFormFakeBasicAuth Off
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    Le drapeau AuthFormFakeBasicAuth permet de + dterminer si un en-tte d'Authentification de base + sera ajout aux en-ttes de la requte. On peut utiliser cette + mthode pour prsenter le nom d'utilisateur et le mot de passe + l'application sous-jacente, sans que cette dernire ait besoin de + connatre la manire dont le processus de connexion a t men + bien.

    + + +
    +
    top
    +

    AuthFormLocation Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire qui contiendra l'URL vers +laquelle l'utilisateur sera redirig en cas de connexion +russie
    Syntaxe:AuthFormLocation nom du champ
    Dfaut:httpd_location
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormLocation permet de + spcifier le nom du champ HTML qui, s'il existe, contiendra l'URL + vers laquelle rediriger le navigateur en cas de connexion + russie.

    + +
    +
    top
    +

    AuthFormLoginRequiredLocation Directive

    + + + + + + + + +
    Description:L'URL de la page vers laquelle on doit tre redirig si une +authentification est requise
    Syntaxe:AuthFormLoginRequiredLocation url
    Dfaut:none
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprteur d'expressions a t ajout partir de la version +2.4.4.
    +

    La directive AuthFormLoginRequiredLocation + permet de spcifier l'URL vers laquelle l'utilisateur devra tre + redirig s'il n'est pas autoris + accder une page. L'argument pass cette directive + est lu au moyen de l'analyseur lexical ap_expr avant d'tre + envoy au client. Par dfaut, + si un utilisateur n'est pas autoris accder une page, le code + de rponse HTTP HTTP_UNAUTHORIZED est renvoy avec la + page spcifie par la directive ErrorDocument. La directive AuthFormLoginRequiredLocation + permet de remplacer cette valeur par dfaut.

    + +

    Vous pouvez utiliser cette directive si vous voulez prsenter une + page de connexion personnalise vos utilisateurs.

    + + +
    +
    top
    +

    AuthFormLoginSuccessLocation Directive

    + + + + + + + + +
    Description:L'URL de la page vers laquelle on doit tre redirig en cas +de connexion russie
    Syntaxe:AuthFormLoginSuccessLocation url
    Dfaut:none
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprteur d'expressions a t ajout partir de la version +2.4.4.
    +

    La directive AuthFormLoginSuccessLocation + permet de spcifier l'URL vers laquelle l'utilisateur doit tre + redirig en cas de connexion russie. L'argument pass cette directive + est lu au moyen de l'analyseur lexical ap_expr avant d'tre + envoy au client. L'effet de cette directive + peut tre annul si l'on a dfini un champ de formulaire contenant + une autre URL l'aide de la directive AuthFormLocation.

    + +

    Vous pouvez utiliser cette directive si vous possdez une URL de + connexion personnalise, et si vous n'avez pas intgr la page de + destination dans le formulaire de connexion.

    + + +
    +
    top
    +

    AuthFormLogoutLocation Directive

    + + + + + + + + +
    Description:L'URL vers laquelle un utilisateur devra tre redirig +aprs s'tre dconnect
    Syntaxe:AuthFormLogoutLocation uri
    Dfaut:none
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP +Apache. L'interprteur d'expressions a t ajout partir de la version +2.4.4.
    +

    La directive AuthFormLogoutLocation permet de + spcifier l'URL de la page du serveur vers laquelle l'utilisateur + devra tre redirig s'il se dconnecte. + L'argument pass cette directive + est lu au moyen de l'analyseur lexical ap_expr avant d'tre + envoy au client.

    + +

    Lorsqu'un accs est tent sur un URI trait par le gestionnaire + form-logout-handler, la page spcifie par cette + directive sera prsente 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'accder l'URI /logout/, il + sera dconnect, et la page /loggedout.html lui sera + prsente. Assurez-vous que la page loggedout.html n'est + pas protge par mot de passe, car dans le cas contraire, elle ne + serait pas affiche.

    + + +
    +
    top
    +

    AuthFormMethod Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire contenant la mthode de la +requte effectuer en cas de connexion russie
    Syntaxe:AuthFormMethod nom du champ
    Dfaut:httpd_method
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormMethod permet de + spcifier le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requte effectuer en cas de connexion russie.

    + +

    En ajoutant au formulaire les champs dcrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requte qui a t ventuellement interrompue + par l'cran de connexion, ou par l'expiration d'un dlai de + session.

    + +
    +
    top
    +

    AuthFormMimetype Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire contenant le type MIME du +corps de la requte effectuer en cas de connexion +russie
    Syntaxe:AuthFormMimetype nom du champ
    Dfaut:httpd_mimetype
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormMimetype permet de + spcifier le nom du champ HTML qui, s'il existe, contiendra le type + MIME de la requte effectuer en cas de connexion russie.

    + +

    En ajoutant au formulaire les champs dcrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, un site web sera en + mesure de relancer une requte qui a t ventuellement interrompue + par l'cran de connexion, ou par l'expiration d'un dlai de + session.

    + +
    +
    top
    +

    AuthFormPassword Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire qui contient le mot de passe +de connexion
    Syntaxe:AuthFormPassword nom du champ
    Dfaut:httpd_password
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormPassword permet de + spcifier le nom du champ HTML qui, s'il existe, contiendra le mot + de passe qui sera utilis pour la connexion.

    + +
    +
    top
    +

    AuthFormProvider Directive

    + + + + + + + + +
    Description:Dfinit le(s) fournisseur(s) d'authentification pour la +zone concerne
    Syntaxe:AuthFormProvider nom fournisseur +[nom fournisseur] ...
    Dfaut:AuthFormProvider file
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_auth_form
    +

    La directive AuthFormProvider permet de + dfinir quel fournisseur sera utilis pour authentifier les + utilisateurs pour la zone concerne. Le fournisseur par dfaut + file est implment par le module + mod_authn_file. Assurez-vous que le fournisseur + choisi soit bien prsent dans le serveur.

    + +

    Exemple

    +<Location /secure>
    +    AuthType form
    +    AuthName "private area"
    +    AuthFormProvider  dbm
    +    AuthDBMType        SDBM
    +    AuthDBMUserFile    /www/etc/dbmpasswd
    +    Require            valid-user
    +    #...
    +</Location>
    +      
    +
    + +

    Les diffrents fournisseurs sont implments par les modules + mod_authn_dbm, mod_authn_file, + mod_authn_dbd et + mod_authnz_ldap.

    + +
    +
    top
    +

    AuthFormSitePassphrase Directive

    + + + + + + + + +
    Description:Court-circuite l'authentification pour les sites fort +trafic
    Syntaxe:AuthFormSitePassphrase secret
    Dfaut:none
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormSitePassphrase permet de + spcifier un mot de passe qui, s'il est prsent dans la session + utilisateur, indique Apache httpd de court-circuiter l'authentification + pour l'URL considre. On peut l'utiliser dans le cas de sites web + fort trafic afin de rduire la charge induite sur l'infrastructure + d'authentification.

    + +

    On peut insrer 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 + vrifications d'authentification, qu'un mot de passe soit spcifi + ou non.

    + +

    Avertissement

    +

    Si la session est prsente l'utilisateur l'aide du module + mod_session_cookie, et si la session n'est pas + protge 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 utilise dans un espace d'URLs contenant + des donnes prives, ou partir desquelles des transactions + sensibles pourraient tre menes. En tout tat de cause, vous + devez tre conscient des risques encourus avant de l'utiliser.

    +
    + + +
    +
    top
    +

    AuthFormSize Directive

    + + + + + + + + +
    Description:La taille maximale en octets du formulaire dont seront +extraites les informations de connexion
    Syntaxe:AuthFormSize taille
    Dfaut:8192
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.0 du serveur HTTP Apache
    +

    La directive AuthFormSize permet de spcifier + la taille maximale du corps de la requte qui sera utilise pour + trouver le formulaire de connexion.

    + +

    Si une requte de connexion entrante possde une taille + suprieure cette valeur, elle sera rejete avec le code de rponse + HTTP HTTP_REQUEST_TOO_LARGE.

    + +

    Si vous avez ajout au formulaire des champs dcrits dans AuthFormMethod, AuthFormMimetype et AuthFormBody, il est recommand + de dfinir cette directive une valeur similaire celle de la + directive KeptBodySize.

    + + +
    +
    top
    +

    AuthFormUsername Directive

    + + + + + + + + +
    Description:Le nom du champ de formulaire qui contient le nom de +connexion
    Syntaxe:AuthFormUsername nom du champ
    Dfaut:httpd_username
    Contexte:rpertoire
    Statut:Base
    Module:mod_auth_form
    Compatibilit:Disponible depuis la version 2.3.3 du serveur HTTP Apache
    +

    La directive AuthFormUsername permet de + spcifier 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 4da4dffe..c98bacbf 100644 --- a/docs/manual/mod/mod_authn_anon.html +++ b/docs/manual/mod/mod_authn_anon.html @@ -4,6 +4,10 @@ URI: mod_authn_anon.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_authn_anon.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_authn_anon.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_anon.html.en b/docs/manual/mod/mod_authn_anon.html.en index ee125287..90e00531 100644 --- a/docs/manual/mod/mod_authn_anon.html.en +++ b/docs/manual/mod/mod_authn_anon.html.en @@ -25,6 +25,7 @@

    Apache Module mod_authn_anon

    Available Languages:  en  | + fr  |  ja  |  ko 

    @@ -216,6 +217,7 @@ formatted email address
    + + + +
    Description:Permet un accs "anonyme" des zones +protges
    Statut:Extension
    IdentificateurdeModule:authn_anon_module
    FichierSource: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 manire des sites FTP anonymes, c'est dire + en fournissant l'identifiant utilisateur spcial 'anonymous' et + l'adresse email comme mot de passe. Ces adresses email peuvent tre + journalises.

    + +

    En combinaison avec d'autres mthodes de contrle d'accs (base + de donnes), ce module permet d'effectuer un vritable suivi des + utilisateurs et une personnalisation de leurs accs en fonction de + leur profil, tout en conservant l'accessibilit du site aux + utilisateurs 'non enregistrs'. Un avantage du suivi des + utilisateurs bas sur l'authentification rside dans le fait qu'il + est, l'oppos des cookies magiques et des drles d'URLs avec + prfixes ou suffixes, entirement indpendant 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 prsente un exemple de combinaison avec + l'authentification base de fichier htpasswd "normale", et permet + la connexion d'utilisateurs en tant qu'invits avec les proprits + 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 + vrification n'est pas sensible la casse. + (Anonymous)
    • + +
    • Les adresses email entres dans le champ passwd sont + enregistres 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
    +

    Anonymous Directive

    + + + + + + + +
    Description:Dfinit la liste des identifiants utilisateur autoriss +accder sans vrification du mot de passe
    Syntaxe:Anonymous utilisateur [utilisateur] +...
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_anon
    +

    Une liste d'un ou plusieurs identifiants utilisateur spciaux + autoriss accder sans vrification du mot de passe. Les + identifiants doivent tre spars par un espace. Pour spcifier un + identifiant contenant un espace, on peut utiliser les guillemets ' + ou ", ou le caractre d'chappement \.

    + +

    Veuillez noter que la vrification n'est pas sensible + la casse.
    + Il est fortement conseill d'intgrer l'utilisateur spcial + 'anonymous' dans la liste des identifiants.

    + +

    Exemple:

    +      Anonymous anonymous "Not Registered" "I don't know"
    +      
    +
    + +

    Dans cet exemple, l'utilisateur peut accder au site sans + vrification 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 autoriss par le caractre "*", ce qui + permet d'utiliser n'importe quel identifiant pour pouvoir + accder au site.

    + +
    +
    top
    +

    Anonymous_LogEmail Directive

    + + + + + + + + +
    Description:Dtermine si le mot de passe fourni sera enregistr dans le +journal des erreurs
    Syntaxe:Anonymous_LogEmail On|Off
    Dfaut:Anonymous_LogEmail On
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_anon
    +

    Lorsque cette directive est dfinie On, valeur + par dfaut, le 'mot de passe' fourni (cens contenir une adresse + email valide) est enregistr dans le journal des erreurs.

    + +
    +
    top
    +

    Anonymous_MustGiveEmail Directive

    + + + + + + + + +
    Description:Dtermine si l'abscence de mot de passe est +autorise
    Syntaxe:Anonymous_MustGiveEmail On|Off
    Dfaut:Anonymous_MustGiveEmail On
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_anon
    +

    Dtermine si l'utilisateur doit spcifier une adresse email comme + mot de passe. Lorsque cette directive est dfinie On, + l'abscence de mot de passe est interdite.

    + +
    +
    top
    +

    Anonymous_NoUserID Directive

    + + + + + + + + +
    Description:Dtermine si le champ identifiant peut tre +vide
    Syntaxe:Anonymous_NoUserID On|Off
    Dfaut:Anonymous_NoUserID Off
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_anon
    +

    Lorsque cette directive est dfinie On, les + utilisateurs peuvent laisser le champ identifiant vide (et peut-tre + aussi le champ mot de passe selon la dfinition de la directive + Anonymous_MustGiveEmail). Ceci + peut s'avrer trs utile pour les utilisateurs de MS-Explorer qui + n'ont pour seule possibilit que d'appuyer sur Entre ou de cliquer + directement sur le bouton OK, ce qui semble tre une raction + naturelle.

    + +
    +
    top
    +

    Anonymous_VerifyEmail Directive

    + + + + + + + + +
    Description:Dtermine s'il faut vrifier que le format de l'adresse +email fournie comme mot de passe est correct
    Syntaxe:Anonymous_VerifyEmail On|Off
    Dfaut:Anonymous_VerifyEmail Off
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_anon
    +

    Lorsque cette directive est dfinie On, Apache + vrifie 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index d874645d..6937c94e 100644 --- a/docs/manual/mod/mod_authn_anon.html.ja.utf8 +++ b/docs/manual/mod/mod_authn_anon.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_authn_anon

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -223,6 +224,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -243,7 +245,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_anon.h } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_authn_dbd

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Authentification utilisateur l'aide d'une base de donnes +SQL
    Statut:Extension
    IdentificateurdeModule:authn_dbd_module
    FichierSource: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 + donnes SQL. mod_authn_file, par exemple, fournit + une fonctionnalit similaire.

    +

    Ce module s'appuie sur mod_dbd pour spcifier le + pilote de la base de donnes sous-jacente et les paramtres de + connexion, mais aussi pour grer les connexions la base de + donnes.

    + +

    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 problmatique au niveau de la base de donnes. Cela +se produit en gnral lorsqu'une page HTML contient des centaines d'objets +(comme des images, des scripts, etc...), chacun d'entre eux ncessitant +une authentification. Les utilisateurs qui rencontrent ce genre de +problme peuvent utiliser le module mod_authn_socache +qui permet de mettre les donnes d'authentification en cache, et +soulager ainsi la base de donnes 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 donnes.

    +
    +# 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 donnes d'authentification, placez socache
    +  # avant dbd
    +  AuthBasicProvider socache dbd
    +
    +  # Aussi ncessaire  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 requte 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

    + +

    +Si httpd a t compil avec la version 1.3.0 ou suprieure de +l'APR, pour chaque requte envoye au serveur de +base de donnes, toutes les valeurs de colonnes du premier +enregistrement renvoy par la requte sont affectes des variables +d'environnement avec le prfixe "AUTHENTICATE_". +

    +

    Par exemple, si une requte renvoie un nom d'utilisateur, un nom +complet et un numro de tlphone, un programme CGI pourra accder ces +informations sans avoir besoin d'effectuer une deuxime requte vers la +base de donnes.

    +

    Ceci va entraner une simplification considrable du code et de la +configuration ncessaire de certaines applications web. +

    +
    +
    top
    +

    AuthDBDUserPWQuery Directive

    + + + + + + +
    Description:Requte SQL servant vrifier le mot de passe d'un +utilisateur
    Syntaxe:AuthDBDUserPWQuery requte
    Contexte:rpertoire
    Statut:Extension
    Module:mod_authn_dbd
    +

    La directive AuthDBDUserPWQuery permet de + spcifier une requte servant vrifier le mot de passe d'un + utilisateur donn. L'identifiant utilisateur sera transmis comme + paramtre sous forme d'une seule chane de caractres lorsque la + requte sera excute. Cet identifiant est rfrenc dans la requte + en utilisant le spcificateur de format %s.

    +
    +AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
    +
    + +

    La premire colonne du premier enregistrement renvoy par la + requte se prsentera sous la forme d'une chane de caractres + contenant le mot de passe chiffr. Les enregistrements suivants sont + ignors. Si aucun enregistrement n'est renvoy, l'utilisateur ne + sera pas authentifi par mod_authn_dbd.

    +

    Si httpd a t compil avec la version 1.3.0 ou suprieure de + l'APR, toute valeur de colonne supplmentaire + du premier enregistrement renvoy par la requte sera stocke dans + une variable d'environnement dont le nom aura la forme + AUTHENTICATE_valeur-colonne. +

    +

    Le format du mot de passe chiffr dpend 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 dtails.

    + +
    +
    top
    +

    AuthDBDUserRealmQuery Directive

    + + + + + + +
    Description:Requte SQL servant vrifier une empreinte de mot de +passe pour un utilisateur et un identifiant d'authentification. +
    Syntaxe:AuthDBDUserRealmQuery requte
    Contexte:rpertoire
    Statut:Extension
    Module:mod_authn_dbd
    +

    La directive AuthDBDUserRealmQuery permet + de spcifier une requte SQL servant vrifier une empreinte de mot + de passe pour un utilisateur et un identifiant d'authentification + donns au cours d'un processus d'authentification digest. Les + identifiants de l'utilisateur et de l'authentification + sont passs dans cet ordre comme paramtres l'excution de la + requte. Ils sont rfrencs dans la chane de la requte en + utilisant des spcificateurs de format %s.

    +
    +AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"
    +
    + +

    La premire colonne du premier enregistrement renvoy par la + requte se prsentera sous la forme d'une chane de caractres + contenant le mot de passe chiffr. Les enregistrements suivants + seront ignors. Si aucun enregistrement n'est renvoy, l'utilisateur + ne sera pas authentifi par mod_authn_dbd.

    +

    Si httpd a t compil avec une version 1.3.0 ou suprieure de + l'APR, toute valeur de colonne supplmentaire + du premier enregistrement renvoy par la requte sera stocke dans + une variable d'environnement avec un nom de la forme + AUTHENTICATE_COLONNE. +

    +

    Le format du mot de passe chiffr dpend 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 dtails.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index e4cb7d7a..fda22b52 100644 --- a/docs/manual/mod/mod_authn_dbm.html +++ b/docs/manual/mod/mod_authn_dbm.html @@ -4,6 +4,10 @@ URI: mod_authn_dbm.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_authn_dbm.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_authn_dbm.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_authn_dbm.html.en b/docs/manual/mod/mod_authn_dbm.html.en index bece9b7c..14681230 100644 --- a/docs/manual/mod/mod_authn_dbm.html.en +++ b/docs/manual/mod/mod_authn_dbm.html.en @@ -25,6 +25,7 @@

    Apache Module mod_authn_dbm

    Available Languages:  en  | + fr  |  ja  |  ko 

    @@ -62,6 +63,8 @@
  • AuthDigestProvider
  • +
  • htpasswd
  • +
  • htdbm
  • Password Formats
  • @@ -131,12 +134,15 @@ passwords for authentication
    + + + +
    Description:Authentification utilisateur utilisant des fichiers +DBM
    Statut:Extension
    IdentificateurdeModule:authn_dbm_module
    FichierSource:mod_authn_dbm.c
    Compatibilit:Disponible depuis les versions 2.1 et suprieures +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
    +

    AuthDBMType Directive

    + + + + + + + + +
    Description:Dfinit le type de fichier de base de donnes utilis pour +stocker les mots de passe
    Syntaxe:AuthDBMType default|SDBM|GDBM|NDBM|DB
    Dfaut:AuthDBMType default
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_dbm
    +

    Cette directive permet de dfinir le type de fichier de base de + donnes utilis pour stocker les mots de passe. Le type de base de + donnes par dfaut est dfini la compilation. La liste des autres + types de bases de donnes disponibles dpend aussi de la configuration de la compilation.

    + +

    Il est impratif que le programme que vous utilisez pour crer + vos fichiers de mots de passe soit configur pour utiliser le mme + type de base de donnes.

    + +
    +
    top
    +

    AuthDBMUserFile Directive

    + + + + + + + +
    Description:Dfinit le nom d'un fichier de base de donnes pour +l'authentification contenant la liste +des utilisateurs et de leurs mots de passe
    Syntaxe:AuthDBMUserFile chemin-fichier
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authn_dbm
    +

    La directive AuthDBMUserFile permet de + dfinir le nom d'un fichier de base de donnes 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 donnes.

    + +

    La cl du fichier de base de donnes est le nom de l'utilisateur. + La valeur associe est le mot de passe chiffr, ventuellement suivi + par un ':' et des donnes arbitraires. Ce ':' ainsi que les donnes + arbitraires qui suivent seront ignores par le serveur.

    + +

    Scurit :

    +

    Faites en sorte que le fichier spcifi par la directive + AuthDBMUserFile soit stock en dehors de + l'arborescence des documents du serveur web ; en particulier, ne + l'enregistrez pas dans le rpertoire qu'il protge, faute + de quoi, les clients auraient la possibilit de + tlcharger le fichier des mots de passe.

    +
    + +

    Le format de mot de passe chiffr dpend du frontal + d'authentification utilis (par exemple + mod_authn_basic ou + mod_authn_digest). Voir la documentation sur les Formats de mots de + passe pour plus de dtails.

    + +

    Note importante concernant la compatibilit : l'implmentation de + dbmopen dans les modules d'Apache lit la longueur de la + chane correspondant aux donnes chiffres dans la structure des + donnes DBM, plutt que de calculer cette longueur en se basant sur + le caractre nul final. Certaines applications par contre, comme le + serveur web Netscape, calculent cette longueur en se basant sur + le caractre nul final ; par consquent, si vous rencontrez des + difficults en changeant des fichiers DBM entre plusieurs + applications, le problme peut ventuellement s'expliquer par cette + diffrence d'implmentation.

    + +

    Un script perl nomm dbmmanage est fourni avec + Apache. On peut utiliser ce programme pour crer et mettre jour + les fichiers de mots de passe au format DBM que ce module + utilise. Il existe galement un autre outil pour grer 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index a0b319fa..cfc0843e 100644 --- a/docs/manual/mod/mod_authn_dbm.html.ja.utf8 +++ b/docs/manual/mod/mod_authn_dbm.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_authn_dbm

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -134,6 +135,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -154,7 +156,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authn_dbm.ht } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_authn_socache

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Gre un cache des donnes d'authentification pour diminuer +la charge des serveurs d'arrire-plan
    Statut:Base
    IdentificateurdeModule:authn_socache_module
    FichierSource:mod_authn_socache.c
    Compatibilit:Versions 2.3 et ultrieures
    +

    Sommaire

    + +

    Maintient un cache des donnes d'authentification afin que la + recherche d'un nouveau serveur d'arrire-plan pour chaque requte + authentifie ne soit plus ncessaire.

    +
    + +
    top
    +
    +

    Mise en cache des donnes d'authentification

    +

    Certains utilisateurs qui mettent oeuvre une authentification + lourde s'appuyant par exemple sur des requtes 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 requte pour cette page gnre des centaines de + sous-requtes effet immdiat pour des contenus supplmentaires + authentifis.

    +

    Pour rsoudre ce problme, mod_authn_socache fournit une solution + qui permet de maintenir un cache des donnes d'authentification.

    +
    top
    +
    +

    Utilisation

    +

    Le cache d'authentification doit tre utilis lorsque les + requtes d'authentification induisent une charge significative sur le + serveur, le serveur d'arrire-plan ou le rseau. Cette mise en cache + n'apportera probablement aucune amlioration dans le cas d'une + authentification base de fichier (mod_authn_file) + ou de base de donnes dbm (mod_authn_dbm) car ces + mthodes sont de par leur conception rapides et lgres (la mise en + cache peut cependant s'avrer utile dans le cas o le fichier est + situ sur un montage rseau). Les fournisseurs d'authentification + bass sur SQL ou LDAP ont plus de chances de tirer parti de cette + mise en cache, en particulier lorsqu'un problme de performances est + dtect. mod_authnz_ldap grant son propre cache, + seul mod_authn_dbd est concern par notre sujet.

    +

    Les principales rgles 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'acclrer + mod_authn_dbd et utilisant dbm comme moteur de la + mise en cache :

    +
    +<Directory /usr/www/myhost/private>
    +    AuthType Basic
    +    AuthName "Cached Authentication Example"
    +    AuthBasicProvider socache dbd
    +    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
    +    AuthnCacheProvideFor dbd
    +    AuthnCacheContext dbd-authn-example
    +    AuthnCacheSOCache dbm
    +    Require valid-user
    +</Directory>
    +    
    + +
    top
    +
    +

    La mise en cache avec les modules tiers

    +

    Les dveloppeurs de modules doivent savoir que la mise en cache + avec mod_authn_socache doit tre active dans leurs modules. La + fonction simple de l'API ap_authn_cache_store permet de + mettre en cache les donnes d'authentification qu'un fournisseur + vient de rechercher ou de gnrer. Vous trouverez des exemples + d'utilisation r957072, o trois fournisseurs authn sont activs pour la mise + en cache.

    +
    +
    top
    +

    AuthnCacheContext Directive

    + + + + + + + +
    Description:Spcifie une chane de contexte utiliser dans la cl du +cache
    Syntaxe:AuthnCacheContext directory|server|chane-personnalise
    Dfaut:directory
    Contexte:rpertoire
    Statut:Base
    Module:mod_authn_socache
    +

    Cette directive permet de spcifier une chane utiliser avec le + nom d'utilisateur fourni (et le domaine d'authentification - realm - + dans le cas d'une authentification base de condenss) lors de la + construction d'une cl de cache. Ceci permet de lever l'ambigut + entre plusieurs noms d'utilisateurs identiques servant diffrentes + zones d'authentification sur le serveur.

    +

    Il y a deux valeurs spciales pour le paramtre : directory, + qui utilise le contexte de rpertoire de la requte comme chane, et + server, qui utilise le nom du serveur virtuel.

    +

    La valeur par dfaut est directory, qui est aussi la + dfinition 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 + possderont chacun leur propre cl de cache. Il est prfrable + d'utiliser le fournisseur de mot de passe : par exemple un fichier + htpasswd ou une table de base de donnes.

    +

    Les contextes peuvent tre partags entre diffrentes zones du + serveur, o les donnes d'authentification sont partages. Ceci est + cependant susceptible de crer des trous de scurit de type + cross-site ou cross-application, et cette directive n'est donc pas + disponible dans les contextes .htaccess.

    + +
    +
    top
    +

    AuthnCacheEnable Directive

    + + + + + + + +
    Description:Active la mise en cache de l'authentification en tout +endroit
    Syntaxe:AuthnCacheEnable
    Contexte:configuration du serveur
    AllowOverride:None
    Statut:Base
    Module:mod_authn_socache
    +

    Normalement, cette directive n'est pas ncessaire : l'activation + est implicite si la mise en cache de l'authentification a t + active en tout autre endroit du fichier httpd.conf. Par + contre, si cette mise en cache n'a pas t active, par dfaut, elle + ne sera pas initialise, et ne sera donc pas disponible dans un + contexte de fichier .htaccess. Cette directive permet + d'tre sr que la mise en cache a bien t active et pourra + donc tre utilise dans les fichiers .htaccess.

    + +
    +
    top
    +

    AuthnCacheProvideFor Directive

    + + + + + + + + +
    Description:Spcifie le fournisseur pour lequel on veut effectuer une +mise en cache
    Syntaxe:AuthnCacheProvideFor fournisseur-authn [...]
    Dfaut:None
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_authn_socache
    +

    Cette directive permet de spcifier un ou plusieurs fournisseurs + pour le(s)quel(s) on veut effectuer une mise en cache. Les donnes + d'authentification trouves par un fournisseur non spcifi dans une + directive AuthnCacheProvideFor ne seront pas mises en cache.

    + +

    Par exemple, pour mettre en cache les donnes d'authentification + trouves par mod_authn_dbd ou par un fournisseur + personnalis mon-fournisseur, et ne pas mettre en cache + celles trouves par les fournisseurs lgers comme file ou dbm :

    +
    +AuthnCacheProvideFor dbd mon-fournisseur
    +    
    + + +
    +
    top
    +

    AuthnCacheSOCache Directive

    + + + + + + + +
    Description:Slectionne le fournisseur socache d'arrire-plan +utiliser
    Syntaxe:AuthnCacheSOCache nom-fournisseur
    Contexte:configuration du serveur
    AllowOverride:None
    Statut:Base
    Module:mod_authn_socache
    +

    Cette dfinition s'applique l'ensemble du serveur et permet de + slectionner un fournisseur pour le cache + d'objets partags. Les fournisseurs disponibles sont "dbm", + "dc", "memcache", ou "shmcb", chacun d'entre eux ncessitant le chargement + du module appropri. Si elle est + absente, c'est la valeur par dfaut pour votre plate-forme qui sera + utilise.

    + +
    +
    top
    +

    AuthnCacheTimeout Directive

    + + + + + + + + +
    Description:Dfinit une dure de vie pour les entres du cache
    Syntaxe:AuthnCacheTimeout dure-de-vie (secondes)
    Dfaut:300 (5 minutes)
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_authn_socache
    +

    La mise en cache des donnes d'authentification peut constituer + un trou de scurit, bien qu'un mise en cache de courte dure ne + posera probablement pas de problme. En gnral, il est conseill de + conserver les entres du cache de faon ce que la charge du serveur + d'arrire-plan reste normale, mais pas plus longtemps, bien + qu'une dure de vie plus longue puisse tre ncessaire si les + changements d'utilisateurs et de mots de passe sont peu frquents. + La dure de vie par dfaut de 300 secondes (5 minutes) est la fois + raisonnable et suffisamment importante pour rduire la charge d'un + serveur d'arrire-plan comme dbd (requtes SQL).

    +

    Cette dure de vie ne doit pas tre confondue avec la dure de + vie de session qui est un tout autre sujet. Cependant, vous devez + utiliser votre logiciel de gestion de session pour vrifier si les + donnes d'authentification mises en cache peuvent allonger + accidentellement une session, et en tenir compte lorsque vous + dfinissez la dure 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_authnz_ldap.html.en b/docs/manual/mod/mod_authnz_ldap.html.en index 418d6eda..4fa230c9 100644 --- a/docs/manual/mod/mod_authnz_ldap.html.en +++ b/docs/manual/mod/mod_authnz_ldap.html.en @@ -1388,7 +1388,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap. } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_authz_core

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Autorisation basique
    Statut:Base
    IdentificateurdeModule:authz_core_module
    FichierSource:mod_authz_core.c
    Compatibilit:Disponible depuis la version 2.3 +d'Apache HTTPD
    +

    Sommaire

    + +

    Ce module fournit des fonctionnalits d'autorisation basiques + permettant d'accorder ou refuser l'accs certaines zones du site + web aux utilisateurs authentifis. mod_authz_core + donne la possibilit d'enregistrer divers fournisseurs + d'autorisation. Il est en gnral 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 labore au droulement du + processus d'autorisation.

    +
    + +
    top
    +
    +

    Cration des alias du fournisseur +d'autorisation

    + +

    Il est possible de crer des fournisseurs d'autorisation tendus + dans le fichier de configuration et de leur assigner un nom d'alias. + On peut ensuite utiliser ces fournisseurs aliass dans une + directive Require de + la mme manire qu'on le ferait pour des fournisseurs d'autorisation + de base. En plus de la possibilit de crer et d'aliaser un + fournisseur tendu, le mme fournisseur d'autorisation tendu peut + tre utilis pour contrler l'accs plusieurs localisations. +

    + +

    Exemple

    +

    Dans l'exemple suivant, on cre deux alias de fournisseur + d'autorisation ldap diffrents bass sur le fournisseur + d'autorisation ldap-group. Il est ainsi possible pour un seul + rpertoire de vrifier l'appartenance un groupe au niveau de + plusieurs serveurs ldap : +

    + +
    +<AuthzProviderAlias ldap-group ldap-group-alias1 cn=my-group,o=ctx>
    +    AuthLDAPBindDN cn=monutilisateur,o=ctx
    +    AuthLDAPBindPassword monmotdepasse
    +    AuthLDAPURL ldap://serveur.ldap/o=ctx
    +</AuthzProviderAlias>
    +
    +<AuthzProviderAlias ldap-group ldap-group-alias2 cn=my-other-group,o=dev>
    +    AuthLDAPBindDN cn=monautreutilisateur,o=dev
    +    AuthLDAPBindPassword monsecondmotdepasse
    +    AuthLDAPURL ldap://autre.serveur.ldap/o=dev?cn
    +</AuthzProviderAlias>
    +
    +Alias /secure /webpages/secure
    +<Directory /webpages/secure>
    +    Require all granted
    +
    +    AuthBasicProvider file
    +
    +    AuthType Basic
    +    AuthName LDAP_Protected_Place
    +
    +    #Implicitement, c'est l'un OU l'autre
    +    Require ldap-group-alias1
    +    Require ldap-group-alias2
    +</Directory>
    +        
    + + + +
    top
    +
    +

    Conteneurs d'autorisation

    + +

    Les directives de conteneur d'autorisation <RequireAll>, + <RequireAny> et <RequireNone> + peuvent tre combines entre elles et avec la directive Require pour laborer une + logique d'autorisation complexe.

    + +

    L'exemple ci-dessous illustre la logique d'autorisation suivante. + Pour pouvoir accder 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 accder la ressource, + l'utilisateur ne doit appartenir ni au groupe temps, ni + au groupe LDAP Employes temporaires.

    + +
    +<Directory /www/mydocs>
    +    <RequireAll>
    +        <RequireAny>
    +            Require user superadmin
    +            <RequireAll>
    +            Require group admins
    +            Require ldap-group cn=Administrators,o=Airius
    +                <RequireAny>
    +                Require group ventes
    +                Require ldap-attribute dept="ventes"
    +                </RequireAny>
    +            </RequireAll>
    +        </RequireAny>
    +        <RequireNone>
    +            Require group temps
    +            Require ldap-group cn=Employes Temporaires,o=Airius
    +        </RequireNone>
    +    </RequireAll>
    +</Directory>
    +    
    + +
    top
    +
    +

    Les directives Require

    + +

    Le module mod_authz_core met disposition des + fournisseurs d'autorisation gnriques utilisables avec la directive + Require.

    + +

    Require env

    + +

    Le fournisseur env permet de contrler l'accs au + serveur en fonction de l'existence d'une variable d'environnement. Lorsque Require + env env-variable est spcifi, la requte se voit + autoriser l'accs si la variable d'environnement + env-variable existe. Le serveur permet de dfinir + facilement des variables d'environnement en fonction des + caractristiques de la requte du client via les directives fournies + par le module mod_setenvif. Cette directive Require + env permet donc de contrler l'accs en fonction des + valeurs des en-ttes de la requte 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 chane user-agent + commence par KnockKnock/2.0 se verront autoriser + l'accs, alors que tous les autres seront rejets.

    + + + +

    Require all

    + +

    Le fournisseur all reproduit la fonctionnalit + prcdemment 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'accs toutes les requtes.

    + +
    +    Require all granted
    +    
    + + +
    +    Require all denied
    +    
    + + + + +

    Require method

    + +

    Le fournisseur method permet d'utiliser la mthode + HTTP dans le processus d'autorisation. Les mthodes GET et HEAD sont + ici considres comme quivalentes. La mthode TRACE n'est pas + supporte par ce fournisseur ; utilisez la place la directive + TraceEnable.

    + +

    Dans l'exemple suivant, seules les mthodes GET, HEAD, POST, et + OPTIONS sont autorises :

    + +
    +        Require method GET POST OPTIONS
    +    
    + + +

    Dans l'exemple suivant, les mthodes GET, HEAD, POST, et OPTIONS + sont autorises sans authentification, alors que toutes les autres + mthodes ncessitent un utilisateur valide :

    + +
    +<RequireAny>
    +     Require method GET POST OPTIONS
    +     Require valid-user
    +</RequireAny>
    +    
    + + + +

    Require expr

    + +

    Le fournisseur expr permet d'accorder l'autorisation + d'accs en fonction d'expressions arbitraires.

    + +
    +         Require expr %{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17
    +    
    + + +

    La syntaxe de l'expression est dcrite dans la documentation de ap_expr.

    + +

    Normalement, l'expression est value avant l'authentification. + Cependant, si l'expression renvoie false et se rfre la variable + %{REMOTE_USER}, le processus d'authentification sera + engag et l'expression rvalue.

    + + + +
    +
    top
    +

    AuthMerging Directive

    + + + + + + + + +
    Description:Dfinit la manire dont chaque logique d'autorisation des +sections de configuration se combine avec celles des sections de +configuration prcdentes.
    Syntaxe:AuthMerging Off | And | Or
    Dfaut:AuthMerging Off
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_authz_core
    +

    Lorsque l'autorisation est active, elle est normalement hrite + par chaque section de + configuration suivante, moins qu'un jeu de directives + d'autorisations diffrent ne soit spcifi. Il s'agit du + comportement par dfaut, qui correspond la dfinition 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 prcdente 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 prcde + (selon l'ordre gnral des sections de configuration), et qui + contient aussi une logique d'autorisation, comme si les deux + sections taient concatnes respectivement dans une directive + <RequireAll> ou <RequireAny>.

    + +
    La dfinition de la directive + AuthMerging ne concerne que la section de + configuration dans laquelle elle apparat. Dans l'exemple suivant, + seuls les utilisateurs appartenant au groupe alpha sont + autoriss accder /www/docs. Les utilisateurs + appartenant au groupe alpha ou au groupe + beta sont autoriss accder + /www/docs/ab. Cependant, la dfinition implicite + Off de la directive AuthMerging + s'applique la section de configuration <Directory> concernant le rpertoire + /www/docs/ab/gamma, ce qui implique que les directives + d'autorisation de cette section l'emportent sur celles des sections + prcdentes. Par voie de consquence, seuls les utilisateurs + appartenant au groupe gamma sont autoriss accder + /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:Regroupe des directives reprsentant une extension d'un +fournisseur d'autorisation de base qui pourra tre rfrence l'aide +de l'alias spcifi
    Syntaxe:<AuthzProviderAlias fournisseur-de-base Alias +Paramtres-Require> +... </AuthzProviderAlias> +
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_authz_core
    +

    Les balises <AuthzProviderAlias> et + </AuthzProviderAlias> permettent de regrouper des + directives d'autorisation auxquelles on pourra faire rfrence + l'aide de l'alias spcifi dans une directive Require.

    + + +
    +
    top
    +

    AuthzSendForbiddenOnFailure Directive

    + + + + + + + + +
    Description:Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si +l'authentification russit et si l'autorisation a t refuse. +
    Syntaxe:AuthzSendForbiddenOnFailure On|Off
    Dfaut:AuthzSendForbiddenOnFailure Off
    Contexte:rpertoire, .htaccess
    Statut:Base
    Module:mod_authz_core
    Compatibilit:Disponible depuis la version 2.3.11 d'Apache HTTPD
    +

    Par dfaut, si l'authentification russit, alors que + l'autorisation est refuse, Apache HTTPD renvoie un code de rponse + HTTP '401 UNAUTHORIZED'. En gnral, les navigateurs proposent alors + une nouvelle fois l'utilisateur la bote de dialogue de saisie du + mot de passe, ce qui n'est pas toujours souhaitable. La directive + AuthzSendForbiddenOnFailure permet de changer + le code de rponse en '403 FORBIDDEN'.

    + +

    Avertissement de scurit

    +

    La modification de la rponse en cas de refus d'autorisation + diminue la scurit du mot de passe, car elle indique un ventuel + attaquant que le mot de passe qu'il a saisi tait correct.

    +
    + +
    +
    top
    +

    Require Directive

    + + + + + + + +
    Description:Vrifie si un utilisateur authentifi a une +autorisation d'accs accorde par un fournisseur +d'autorisation.
    Syntaxe:Require [not] nom-entit [nom-entit] +...
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_authz_core
    +

    Cette directive permet de vrifier si un utilisateur authentifi + a l'autorisation d'accs accorde pour un certain fournisseur + d'autorisation et en tenant compte de certaines restrictions. + mod_authz_core met disposition les fournisseurs + d'autorisation gnriques suivants :

    + +
    +
    Require all granted
    +
    L'accs est autoris sans restriction.
    + +
    Require all denied
    +
    L'accs est systmatiquement refus.
    + +
    Require env env-var [env-var] + ...
    +
    L'accs n'est autoris que si l'une au moins des variables + d'environnement spcifies est dfinie.
    + +
    Require method http-method [http-method] + ...
    +
    L'accs n'est autoris que pour les mthodes HTTP spcifies.
    + +
    Require expr expression
    +
    L'accs est autoris si expression est valu + vrai.
    +
    + +

    Voici quelques exemples de syntaxes autorises par + mod_authz_user, mod_authz_host et + mod_authz_groupfile :

    + +
    +
    Require user identifiant utilisateur + [identifiant utilisateur] + ...
    +
    Seuls les utilisateurs spcifis auront accs la + ressource.
    + +
    Require group nom groupe [nom + groupe] + ...
    +
    Seuls les utilisateurs appartenant aux groupes spcifis + auront accs la ressource.
    + +
    Require valid-user
    +
    Tous les utilisateurs valides auront accs la + ressource.
    + +
    Require ip 10 172.20 192.168.2
    +
    Les clients dont les adresses IP font partie des tranches + spcifies auront accs la ressource.
    +
    + +

    D'autres modules d'autorisation comme + mod_authnz_ldap, mod_authz_dbm, + mod_authz_dbd, + mod_authz_owner et mod_ssl + implmentent des options de la directive Require.

    + +

    Pour qu'une configuration d'authentification et d'autorisation + fonctionne correctement, la directive Require + doit tre accompagne dans la plupart des cas de directives AuthName, AuthType et AuthBasicProvider ou AuthDigestProvider, ainsi que + de directives telles que AuthUserFile et AuthGroupFile (pour la + dfinition des utilisateurs et des groupes). Exemple :

    + +
    +AuthType Basic
    +AuthName "Restricted Resource"
    +AuthBasicProvider file
    +AuthUserFile /web/users
    +AuthGroupFile /web/groups
    +Require group admin
    +    
    + + +

    Les contrles d'accs appliqus de cette manire sont effectifs + pour toutes les mthodes. C'est en effet + ce que l'on souhaite en gnral. Si vous voulez n'appliquer + les contrles d'accs qu' certaines mthodes, tout en laissant les + autres mthodes sans protection, placez la directive + Require dans une section <Limit>.

    + +

    Le rsultat de la directive Require peut + tre invers en utilisant l'option not. Comme dans le + cas de l'autre directive d'autorisation inverse <RequireNone>, si la directive + Require est inverse, elle ne peut qu'chouer + ou produire un rsultat neutre ; elle ne peut donc alors pas + autoriser une requte de manire indpendante.

    + +

    Dans l'exemple suivant, tous les utilisateurs appartenant aux + groupes alpha et beta ont l'autorisation + d'accs, 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 + places dans une mme 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 premire directive + Require qui autorise l'accs un utilisateur + autorise l'accs pour l'ensemble de la requte, et les directives + Require suivantes sont ignores.

    + +

    Avertissement propos de la scurit

    +

    Prtez une attention particulire aux directives d'autorisation + dfinies + au sein des sections Location + qui se chevauchent avec des contenus servis depuis le systme de + fichiers. Par dfaut, les configurations dfinies dans ces sections l'emportent sur les + configurations d'autorisations dfinies au sein des sections + Directory et Files.

    +

    La directive AuthMerging permet de contrler + la manire selon laquelle les configurations d'autorisations sont + fusionnes au sein des sections prcites.

    +
    + +

    Voir aussi

    + +
    +
    top
    +

    <RequireAll> Directive

    + + + + + + + +
    Description:Regroupe plusieurs directives d'autorisation dont aucune ne +doit chouer et dont au moins une doit retourner un rsultat positif +pour que la directive globale retourne elle-mme un rsultat +positif.
    Syntaxe:<RequireAll> ... </RequireAll>
    Contexte:rpertoire, .htaccess
    AllowOverride: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 rsultat positif pour que la directive + <RequireAll> retourne elle-mme + un rsultat positif.

    + +

    Si aucune des directives contenues dans la directive <RequireAll> n'choue, et si au moins une + retourne un rsultat positif, alors la directive <RequireAll> retourne elle-mme un rsultat + positif. Si aucune ne retourne un rsultat positif, et si aucune + n'choue, la directive globale retourne un rsultat neutre. Dans + tous les autres cas, elle choue.

    + +

    Voir aussi

    + +
    +
    top
    +

    <RequireAny> Directive

    + + + + + + + +
    Description:Regroupe des directives d'autorisation dont au moins une +doit retourner un rsultat positif pour que la directive globale +retourne elle-mme un rsultat positif.
    Syntaxe:<RequireAny> ... </RequireAny>
    Contexte:rpertoire, .htaccess
    AllowOverride: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 + rsultat positif pour que la directive <RequireAny> retourne elle-mme un rsultat + positif.

    + +

    Si une ou plusieurs directives contenues dans la directive + <RequireAny> retournent un + rsultat positif, alors la directive <RequireAny> retourne elle-mme un rsultat + positif. Si aucune ne retourne un rsultat positif et aucune + n'choue, la directive globale retourne un rsultat neutre. Dans + tous les autres cas, elle choue.

    + +
    Comme les directives d'autorisation inverses sont incapables + de retourner un rsultat positif, elles ne peuvent pas impacter de + manire significative le rsultat d'une directive <RequireAny> (elles pourraient tout au plus + faire chouer la directive dans le cas o elles choueraient + elles-mmes, et o + toutes les autres directives retourneraient un rsultat neutre). + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inverses dans une directive <RequireAny>.
    + +

    Voir aussi

    + +
    +
    top
    +

    <RequireNone> Directive

    + + + + + + + +
    Description:Regroupe des directives d'autorisation dont aucune ne doit +retourner un rsultat positif pour que la directive globale n'choue +pas.
    Syntaxe:<RequireNone> ... </RequireNone>
    Contexte:rpertoire, .htaccess
    AllowOverride: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 rsultat + positif pour que la directive <RequireNone> n'choue pas.

    + +

    Si une ou plusieurs directives contenues dans la directive + <RequireNone> retournent un + rsultat positif, la directive <RequireNone> chouera. Dans tous les + autres cas, cette dernire retournera un rsultat neutre. Ainsi, + comme pour la directive d'autorisation inverse Require + not, elle ne peut jamais autoriser une requte de manire + indpendante car elle ne pourra jamais retourner un rsultat + positif. Par contre, on peut l'utiliser pour restreindre l'ensemble + des utilisateurs autoriss accder une ressource.

    + +
    Comme les directives d'autorisation inverses sont incapables + de retourner un rsultat positif, elles ne peuvent pas impacter de + manire significative le rsultat d'une directive <RequireNone>. + C'est pourquoi il n'est pas permis d'utiliser les directives + d'autorisation inverses 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index dc683bf7..ce414fc7 100644 --- a/docs/manual/mod/mod_authz_dbd.html +++ b/docs/manual/mod/mod_authz_dbd.html @@ -3,3 +3,7 @@ URI: mod_authz_dbd.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_authz_dbd.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_authz_dbd.html.en b/docs/manual/mod/mod_authz_dbd.html.en index aae7e6bd..10de677c 100644 --- a/docs/manual/mod/mod_authz_dbd.html.en +++ b/docs/manual/mod/mod_authz_dbd.html.en @@ -24,7 +24,8 @@

    Apache Module mod_authz_dbd

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -244,7 +245,8 @@ AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"
    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_authz_dbd

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Group Authorization and Login using SQL
    Status:Extension
    + + + +
    Description:Autorisation en groupe et reconnaissance d'identit avec base +SQL
    Statut:Extension
    IdentificateurdeModule:authz_dbd_module
    FichierSource:mod_authz_dbd.c
    Compatibilit:Disponible dans les versions 2.4 et suprieures +d'Apache
    +

    Sommaire

    + +

    Ce module fournit des fonctionnalits d'autorisation permettant + d'accorder ou de refuser aux utilisateurs authentifis l'accs + 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 donnes SQL pour + dterminer si un utilisateur appartient ou non tel ou tel groupe.

    +

    Ce module propose galement des fonctionnalits de connexion + utilisateur s'appuyant sur une base de donnes, ce qui peut se rvler + particulirement utile lorsque le module est utilis conjointement avec + mod_authn_dbd.

    +

    Ce module s'appuie sur mod_dbd pour spcifier le + pilote de la base de donnes sous-jacente et les paramtres de + connexion, et grer les connexions la base de donnes.

    +
    + +
    top
    +
    +

    Reconnaissance d'identit s'appuyant sur une base de donnes

    + +

    +Outre sa fonction d'autorisation standard consistant vrifier +l'appartenance des groupes, ce module permet aussi de grer des +sessions utilisateur ct serveur grce sa fonctionnalit de connexion utilisateur +en s'appuyant sur une base de donnes. En particulier, il peut mettre +jour le statut de session de l'utilisateur dans la base de donnes +chaque fois que celui-ci visite certaines URLs (sous rserve bien +entendu que l'utilisateur fournissent les informations de connexion +ncessaires).

    +

    Pour cela, il faut definir deux directives Require spciales : Require +dbd-login et Require dbd-logout. Pour les dtails de +leur utilisation, voir l'exemple de configuration ci-dessous.

    +
    top
    +
    +

    Reconnaissance d'identit ct client

    + +

    Certains administrateurs peuvent vouloir implmenter une gestion de +session ct client fonctionnant de concert avec les fonctionnalits de +connexion/dconnexion des utilisateurs ct serveur offertes par ce module, en +dfinissant ou en annulant par exemple un cookie HTTP ou un jeton +similaire lorsqu'un utilisateur se connecte ou se dconnecte. Pour +supporter une telle intgration, mod_authz_dbd exporte +un programme dclenchement optionnel (hook) qui sera lanc chaque fois +que le statut d'un utilisateur sera mis jour dans la base de donnes. +D'autres modules de gestion de session pourront alors utiliser ce +programme pour implmenter des fonctions permettant d'ouvrir et de +fermer des sessions ct 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
    +
    +  # requte 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 ncessaire que l'utilisateur soit dj connect !
    +    AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
    +
    +    # le processus de connexion dbd excute une requte 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)
    +    # aprs une connexion russie
    +    AuthzDBDLoginToReferer On
    +  </Files>
    +
    +  <Files logout.html>
    +    # le processus de dconnexion dbd excute une requte pour
    +    # enregistrer la dconnexion de l'utilisateur
    +    Require dbd-logout
    +    AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
    +  </Files>
    +</Directory>
    +
    + +
    +
    top
    +

    AuthzDBDLoginToReferer Directive

    + + + + + + + +
    Description:Dfinit si le client doit tre redirig vers la page +d'origine en cas de connexion ou de dconnexion russie si un en-tte +de requte Referer est prsent
    Syntaxe:AuthzDBDLoginToReferer On|Off
    Dfaut:AuthzDBDLoginToReferer Off
    Contexte:rpertoire
    Statut:Extension
    Module:mod_authz_dbd
    +

    Utilise 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-tte + de requte HTTP Referer, s'il est prsent). En + l'absence d'en-tte Referer, la dfinition + AuthzDBDLoginToReferer On sera ignore.

    + +
    +
    top
    +

    AuthzDBDQuery Directive

    + + + + + + +
    Description:Dfinit la requte SQL pour l'opration requise
    Syntaxe:AuthzDBDQuery requte
    Contexte:rpertoire
    Statut:Extension
    Module:mod_authz_dbd
    +

    La directive AuthzDBDQuery permet de + spcifier une requte SQL excuter. Le but de cette requte dpend + de la directive Require en cours de + traitement.

    +
      +
    • Avec la directive Require dbd-group, elle spcifie + une requte 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 premire colonne de chaque enregistrement renvoy par la requte + doit contenir une chane de caractres correspondant un nom de + groupe. La requte peut renvoyer zro, 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'accs, + mais au contraire excutera une requte SQL permettant d'enregistrer + la connexion ou la dconnexion de l'utilisateur. Ce dernier doit + tre dj 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 + paramtre sous la forme d'une simple chane lorsque la requte SQL + sera excute. Il y sera fait rfrence dans la requte en utilisant + le spcificateur de format %s.

    + +
    +
    top
    +

    AuthzDBDRedirectQuery Directive

    + + + + + + +
    Description:Dfinit une requte pour rechercher une page vers laquelle +rediriger l'utilisateur aprs une connexion russie
    Syntaxe:AuthzDBDRedirectQuery requte
    Contexte:rpertoire
    Statut:Extension
    Module:mod_authz_dbd
    +

    Spcifie une requte SQL optionnelle utiliser aprs une + connexion (ou une dconnexion) russie pour rediriger l'utilisateur + vers une URL, qui peut tre spcifique l'utilisateur. + L'identifiant utilisateur sera transmis comme paramtre sous la + forme d'une simple chane lorsque la requte SQL sera excute. Il y + sera fait rfrence dans la requte en utilisant le spcificateur de + format %s.

    +
    +AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"
    +
    + +

    La premire colonne du premier enregistrement renvoy par la + requte doit contenir une chane de caractres correspondant une + URL vers laquelle rediriger le client. Les enregistrements suivants + sont ignors. Si aucun enregistrement n'est renvoy, le client ne + sera pas redirig.

    +

    Notez que AuthzDBDLoginToReferer l'emporte + sur cette directive si les deux sont dfinies.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 1f8698ac..ce23dc1d 100644 --- a/docs/manual/mod/mod_authz_dbm.html +++ b/docs/manual/mod/mod_authz_dbm.html @@ -4,6 +4,10 @@ URI: mod_authz_dbm.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_authz_dbm.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + 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 index d252b62f..c4f78663 100644 --- a/docs/manual/mod/mod_authz_dbm.html.en +++ b/docs/manual/mod/mod_authz_dbm.html.en @@ -25,6 +25,7 @@

    Apache Module mod_authz_dbm

    Available Languages:  en  | + fr  |  ko 

    @@ -133,6 +134,7 @@ store list of user groups

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_authz_dbm

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    +
    Description:Group authorization using DBM files
    + + + +
    Description:Autorisation base sur les groupes l'aide de fichiers +DBM
    Statut:Extension
    IdentificateurdeModule:authz_dbm_module
    FichierSource:mod_authz_dbm.c
    Compatibilit:Disponible depuis les versions 2.1 et suprieures +d'Apache
    +

    Sommaire

    + +

    Ce module permet d'autoriser ou d'interdire l'accs certaines + zones du site web aux utilisateurs authentifis en fonction de leur + appartenance un groupe spcifi. Le module + mod_authz_groupfile fournit une fonctionnalit + similaire.

    +
    +

    Directives

    + +

    Voir aussi

    +
    + +
    top
    +

    AuthDBMGroupFile Directive

    + + + + + + + +
    Description:Dfinit le nom du fichier de base de donnes contenant la +liste des groupes d'utilisateurs permettant de dfinir les +autorisations des utilisateurs
    Syntaxe:AuthDBMGroupFile chemin-fichier
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authz_dbm
    +

    La directive AuthDBMGroupFile sert + dfinir le nom d'un fichier DBM contenant la liste des groupes + d'utilisateurs. Les utilisateurs peuvent ds lors se voir autoriser ou + refuser leurs accs 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, spars par des virgules, + auxquels l'utilisateur appartient. Cette liste ne doit comporter + ni espace, ni caractre ':'.

    + +

    Scurit

    +

    Le fichier spcifi par la directive +AuthDBMGroupFile doit tre situ en dehors de +l'arborescence des documents du serveur web. Ne le placez +surtout pas dans le rpertoire qu'il protge, faute +de quoi, les clients pourraient le tlcharger, en l'abscence de +protection supplmentaire.

    +
    + +

    Utilisation combine de fichiers DBM de groupes et de mots de + passe : dans certains cas, il est plus simple de grer une seule + base de donnes contenant les groupes et mots de passe de chaque + utilisateur. L'criture de programmes de support en est ainsi + simplifie car ils n'ont plus qu'un seul fichier DBM grer et + verrouiller. Pour ce faire, on attribue le mme 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 associe 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 caractre ':' et la liste des + groupes spars par des virgules. Il est possible d'ajouter + d'autres donnes en fin de ligne aprs un autre caractre ':', + mais elles seront ignores par le module d'autorisation. Il s'agit + du format utilis par www.telescope.org pour sa base de donnes + combine groupes et mots de passe.

    + +
    +
    top
    +

    AuthzDBMType Directive

    + + + + + + + + +
    Description:Dfinit le type de fichier de base de donnes contenant +la liste des groupes d'utilisateurs
    Syntaxe:AuthzDBMType default|SDBM|GDBM|NDBM|DB
    Dfaut:AuthzDBMType default
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_authz_dbm
    +

    Dfinit le type de fichier de base de donnes contenant la + liste des groupes d'utilisateurs. Le type de base de donnes par + dfaut est dtermin la compilation. Les autres types de bases + de donnes disponibles dpendent aussi de la + configuration de la + compilation.

    + +

    Quel que soit le programme que vous utilisez pour crer votre + fichier de groupes, il est impratif que celui-ci soit configur + pour utiliser le mme type de base de donnes.

    + +
    + +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 1a0246fb..5dd50f01 100644 --- a/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr +++ b/docs/manual/mod/mod_authz_dbm.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_authz_dbm

    ֽ ƴմϴ. @@ -124,6 +125,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_authz_groupfile

    +
    +

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

    +
    + + + + +
    Description:Autorisation base sur les groupes l'aide de fichiers +textes
    Statut:Base
    IdentificateurdeModule:authz_groupfile_module
    FichierSource:mod_authz_groupfile.c
    Compatibilit:Disponible depuis les versions 2.1 et suprieures +d'Apache
    +

    Sommaire

    + +

    Ce module permet d'autoriser ou d'interdire l'accs +certaines zones du site web aux utilisateurs authentifis en +fonction de leur appartenance un groupe spcifi. Le module +mod_authz_dbm fournit une fonctionnalit similaire.

    +
    +

    Directives

    + +

    Voir aussi

    +
    + +
    top
    +

    AuthGroupFile Directive

    + + + + + + + +
    Description:Dfinit le nom d'un fichier texte contenant la liste des +groupes d'utilisateurs permettant de dfinir les autorisations des +utilisateurs
    Syntaxe:AuthGroupFile chemin-fichier
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Base
    Module:mod_authz_groupfile
    +

    La directive AuthGroupFile permet de dfinir +le nom d'un fichier texte contenant la liste des groupes d'utilisateurs. +L'appartenance d'un utilisateur tel ou tel groupe pourra ds lors tre utilise +pour dfinir les permissions d'accs de l'utilisateur. +chemin-fichier est le chemin du fichier de groupes. S'il n'est +pas absolu, ce chemin est considr comme relatif au rpertoire dfini par +la directive ServerRoot.

    + +

    Chaque ligne du fichier de groupes contient un nom de groupe +suivi du caractre ':' et des noms des utilisateurs membres du groupe +spars par des espaces.

    + +

    Exemple :

    + mon-groupe : bob joe anne +

    + +

    Notez que la recherche dans de grands fichiers textes est +trs inefficace ; la directive AuthDBMGroupFile fournit de bien meilleures + performances.

    + +

    Scurit

    +

    Le fichier AuthGroupFile ne doit pas +tre stock dans l'arborescence des documents du site web ; ne le placez +surtout pas dans le rpertoire qu'il protge, faute de quoi les +clients pourraient le tlcharger.

    +
    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 7e16f7d3..41ecb050 100644 --- a/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 +++ b/docs/manual/mod/mod_authz_groupfile.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_authz_groupfile

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -97,6 +98,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -117,7 +119,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_authz_groupf } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_cern_meta

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    + + + +
    Description:La smantique des mtafichiers du serveur httpd du +CERN
    Statut:Extension
    IdentificateurdeModule:cern_meta_module
    FichierSource:mod_cern_meta.c
    +

    Sommaire

    + +

    Il s'agit d'une mulation de la smantique des mtafichiers du + serveur httpd du CERN. Les mtafichiers consistent en en-ttes HTTP + qui peuvent s'ajouter au jeu d'en-ttes habituels pour chaque + fichier accd. Ils ressemblent beaucoup aux fichiers .asis + d'Apache, et permettent d'influencer de manire rudimentaire + l'en-tte Expires:, ainsi que d'autres curiosits. Il existe de + nombreuses mthodes pour grer les mtainformations, mais le choix + s'est port sur celle-ci car il existe dj un grand nombre + d'utilisateurs du CERN qui peuvent exploiter ce module.

    + +

    Pour plus d'information, voir le document sur la smantique des mtafichiers du CERN.

    +
    +

    Directives

    + +

    Voir aussi

    +
    + +
    top
    +

    MetaDir Directive

    + + + + + + + + +
    Description:Le nom du rpertoire o trouver les fichiers de +mtainformations dans le style du CERN
    Syntaxe:MetaDir rpertoire
    Dfaut:MetaDir .web
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Indexes
    Statut:Extension
    Module:mod_cern_meta
    +

    Spcifie le nom du rpertoire dans lequel Apache pourra trouver + les fichiers de mtainformations. Ce rpertoire est en gnral un + sous-rpertoire 'cach' du rpertoire qui contient le fichier + accder. Dfinissez cette directive "." pour + rechercher les mtafichiers dans le mme rpertoire que le fichier + accder :

    + +
    MetaDir .
    + + +

    Ou, pour rechercher dans un sous-rpertoire du rpertoire + contenant le fichier accder :

    + +
    MetaDir .meta
    + + +
    +
    top
    +

    MetaFiles Directive

    + + + + + + + + +
    Description:Active le traitement des mtafichiers du CERN
    Syntaxe:MetaFiles on|off
    Dfaut:MetaFiles off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Indexes
    Statut:Extension
    Module:mod_cern_meta
    +

    Active ou dsactive le traitement des mtafichiers pour certains + rpertoires.

    + +
    +
    top
    +

    MetaSuffix Directive

    + + + + + + + + +
    Description:Suffixe du fichier contenant les mtainformations dans le +style du CERN
    Syntaxe:MetaSuffix suffixe
    Dfaut:MetaSuffix .meta
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Indexes
    Statut:Extension
    Module:mod_cern_meta
    +

    Spcifie le suffixe du fichier contenant les mtainformations. + Par exemple, si on conserve les valeurs par dfaut des deux + directives prcdentes, une requte pour + DOCUMENT_ROOT/un-rep/index.html provoquera la recherche + du mtafichier + DOCUMENT_ROOT/un-rep/.web/index.html.meta, et utilisera + son contenu pour gnrer les informations quant aux en-ttes 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index d685a145..db0f56a4 100644 --- a/docs/manual/mod/mod_cern_meta.html.ko.euc-kr +++ b/docs/manual/mod/mod_cern_meta.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_cern_meta

    ֽ ƴմϴ. @@ -118,6 +119,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_cgi

    +
    +

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

    +
    + + + +
    Description:Excution des scripts CGI
    Statut:Base
    IdentificateurdeModule:cgi_module
    FichierSource:mod_cgi.c
    +

    Sommaire

    + +

    Tout fichier pris en compte par le gestionnaire + cgi-script sera trait en tant que script CGI et + excut par le serveur, sa sortie tant renvoye au client. Les + fichiers sont associs ce gestionnaire soit parce qu'ils possdent + un nom contenant une extension dfinie par la directive AddHandler, soit parce qu'ils se + situent dans un rpertoire dfini 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 possdant le type + MIME application/x-httpd-cgi. L'utilisation du type + MIME magic est obsolte.

    +
    + +
    top
    +
    +

    Les variables d'environnement CGI

    +

    Le serveur va dfinir les variables d'environnement CGI comme + dcrit dans la Spcification CGI, de la + manire suivante :

    + +
    +
    PATH_INFO
    + +
    Cette variable ne sera pas disponible si la directive + AcceptPathInfo est + explicitement dfinie off. Par dfaut, si la + directive AcceptPathInfo n'est pas dfinie, + mod_cgi acceptera des informations de chemin (en + ajoutant /infos/chemin aprs le nom du script dans l'URI), alors + que le serveur de base retournera une erreur 404 NOT FOUND pour + les requtes contenant des informations de chemin supplmentaires. + Ne pas dfinir la directive AcceptPathInfo + a le mme effet sur les requtes avec mod_cgi que + de la dfinir On.
    + +
    REMOTE_HOST
    + +
    Cette variable ne sera dfinie que si la directive HostnameLookups est dfinie + on (elle est off par dfaut), et si + une recherche DNS inverse sur l'adresse IP de l'hte client + aboutit effectivement un nom d'hte.
    + +
    REMOTE_IDENT
    + +
    Cette variable ne sera dfinie que si la directive IdentityCheck + est dfinie on, et si l'hte client supporte le + protocole ident. Notez que l'on ne peut accorder une confiance + aveugle au contenu de cette variable car il peut tre aisment + falsifi, et si un mandataire s'intercale entre le client et le + serveur, il est totalement inutilisable.
    + +
    REMOTE_USER
    + +
    Cette variable ne sera dfinie que si le script CGI fait + l'objet d'une authentification.
    +
    +
    top
    +
    +

    Dbogage des scripts CGI

    +

    Le dbogage 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'excution chouait. + Les directives qui suivent permettent une journalisation plus dtaille 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'excution ne s'effectue pas + correctement. Un script CGI dont l'excution choue provoque la + journalisation d'une grande quantit d'informations. Les deux + premires lignes possdent toujours le format suivant :

    + +

    + %% [date] requte
    + %% tat HTTP nom du script CGI +

    + +

    Si le script CGI n'a pas pu dmarrer, le fichier journal + contiendra les deux lignes supplmentaires suivantes :

    + +

    + %%erreur
    + message d'erreur +

    + +

    Par contre, si l'erreur provient du renvoi par le script + d'informations incorrectes dans les en-ttes (d souvent une + bogue du script), les informations suivantes sont journalises + :

    + +

    + %requte
    + Tous les en-ttes de requte HTTP reus
    + Les entits POST ou PUT (s'il en existe)
    + %rponse
    + Tous les en-ttes gnrs 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
    +

    ScriptLog Directive

    + + + + + + +
    Description:Chemin du fichier journal des erreurs du script +CGI
    Syntaxe:ScriptLog chemin fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Base
    Module:mod_cgi, mod_cgid
    +

    La directive ScriptLog permet de dfinir + le chemin du fichier journal des erreurs du script CGI. Si cette + directive n'est pas dfinie, aucune journalisation des erreurs n'est + effectue. Si elle est dfinie, toute erreur CGI sera enregistre + dans le fichier dont le nom est fourni en argument. S'il s'agit d'un + chemin de fichier relatif, il est considr par rapport au + rpertoire dfini par la directive ServerRoot. +

    + +

    Exemple

    +      ScriptLog logs/cgi_log
    +      
    +
    + +

    Ce journal sera ouvert par l'utilisateur sous lequel les + processus enfants s'excutent, c'est dire l'utilisateur spcifi + par la directive du serveur User. Ceci implique que le + rpertoire 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 rpertoire 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'excutent.

    + +

    Notez que l'on ne doit activer la journalisation des scripts + qu' des fins de dbogage lors de l'criture de scripts CGI, et non + de manire permanente sur un serveur en production. Elle n'est pas + optimise en terme de performances et d'efficacit, et peut + prsenter des problmes de scurit si on l'utilise dans un cadre + autre que celui pour lequel elle a t conue.

    + +
    +
    top
    +

    ScriptLogBuffer Directive

    + + + + + + + +
    Description:Taille maximale des requtes PUT ou POST qui seront +enregistres dans le journal du script
    Syntaxe:ScriptLogBuffer octets
    Dfaut:ScriptLogBuffer 1024
    Contexte:configuration du serveur, 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 enregistre dans le journal, afin + de prvenir une croissance trop importante et trop rapide du fichier + journal due la rception de corps de requte de grandes tailles. + Cette directive permet de modifier cette taille maximale, dont la + valeur par dfaut est de 1024 octets.

    + +
    +
    top
    +

    ScriptLogLength Directive

    + + + + + + + +
    Description:Taille maximale du fichier journal des scripts +CGI
    Syntaxe:ScriptLogLength octets
    Dfaut:ScriptLogLength 10385760
    Contexte:configuration du serveur, serveur virtuel
    Statut:Base
    Module:mod_cgi, mod_cgid
    +

    La directive ScriptLogLength permet de + dfinir 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-ttes de la requte, toutes les sorties du + script), il peut vite atteindre une grande taille. En limitant la + taille du fichier, cette directive permet d'viter les problmes que + causerait sa croissance sans limites. Lorsque le fichier a atteint + cette taille maximale, plus aucune information n'y est + enregistre.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index d6d74ac4..c73ae681 100644 --- a/docs/manual/mod/mod_cgi.html.ja.utf8 +++ b/docs/manual/mod/mod_cgi.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_cgi

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -250,6 +251,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -270,7 +272,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgi.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_cgid

    +
    +

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

    +
    + + + + +
    Description:Excution des scripts CGI par l'intermdiaire d'un dmon +CGI externe
    Statut:Base
    IdentificateurdeModule:cgid_module
    FichierSource:mod_cgid.c
    Compatibilit:Uniquement compatible avec les MPMs Unix +threads
    +

    Sommaire

    + +

    Exceptes les optimisations et la directive additionnelle + ScriptSock dcrite + ci-dessous, mod_cgid a un comportement similaire + celui de mod_cgi. Voir le rsum de + mod_cgi pour plus de dtails propos d'Apache et + CGI.

    + +

    Sur certains systmes d'exploitation de type unix, le lancement + (forking) d'un processus depuis un serveur multi-thread est une + opration trs lourde car le nouveau processus va rpliquer tous les + threads du processus parent. Pour viter cette dpense de ressouces + pour chaque invocation d'un programme CGI, mod_cgid + cre un dmon externe qui est responsable du branchement de + processus enfants destins au lancement de scripts CGI. Le serveur + principal communique avec ce dmon par l'intermdiaire d'une socket + de domaine unix.

    + +

    Si un MPM multi-thread a t slectionn lors du processus de + compilation, c'est ce module qui est utilis par dfaut 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 diffrence est la + directive additionnelle ScriptSock qui permet de + dfinir le nom du socket utiliser pour la communication avec le + dmon CGI.

    +
    + + +
    top
    +

    ScriptSock Directive

    + + + + + + + +
    Description:Le prfixe du nom de fichier du socket utiliser pour +communiquer avec le dmon CGI
    Syntaxe:ScriptSock chemin fichier
    Dfaut:ScriptSock cgisock
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_cgid
    +

    Cette directive permet de dfinir le prfixe du nom de fichier de la + socket utiliser pour communiquer avec le dmon CGI, prfixe auquel + sera ajout une extension correspondant l'identifiant processus du + serveur. La socket sera ouverte avec les permissions de l'utilisateur + qui a dmarr Apache (en gnral root). Afin de prserver la + scurit des communications avec les scripts CGI, il est impratif + de n'accorder aucun autre utilisateur la permission d'crire dans + le rpertoire o se trouve la socket.

    + +

    Si chemin fichier n'est pas un chemin absolu, il est + relatif au chemin dfini 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 8a00e412..02c24b06 100644 --- a/docs/manual/mod/mod_cgid.html.ja.utf8 +++ b/docs/manual/mod/mod_cgid.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_cgid

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -98,6 +99,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -118,7 +120,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_cgid.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_charset_lite

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    + + + +
    Description:Spcifie dans quel jeu de caractre doivent s'effectuer les +traductions ou les rencodages
    Statut:Extension
    IdentificateurdeModule:charset_lite_module
    FichierSource:mod_charset_lite.c
    +

    Sommaire

    + +

    Le module mod_charset_lite permet au serveur de + modifier le jeu de caractres des rponses avant de les envoyer aux + clients. Dans un environnement EBCDIC, Apache traduit toujours les + contenus au protocole HTTP (par exemples les en-ttes de rponses) + de la page de code de la locale du processus Apache vers ISO-8859-1, + mais pas le corps des rponses. Dans tous les environnements, on + peut utiliser mod_charset_lite pour spcifier que + les corps des rponses doivent tre traduits. Par exemple, si les + fichiers sont stocks sous forme EBCDIC, + mod_charset_lite pourra les traduire en ISO-8859-1 + avant de les envoyer au client.

    + +

    Ce module fournit quelques procds de configuration implments + par Apache version russe, ainsi que son module + mod_charset associ.

    +
    + +
    top
    +
    +

    Problmes courants

    + +

    Noms de jeux de caractres non valides

    + +

    Les noms des jeux de caractres passs en paramtres aux + directives CharsetSourceEnc et + CharsetDefault + doivent tre reconnus par le mcanisme de traduction utilis par + APR sur le systme o + mod_charset_lite est utilis. Ces noms de jeux de + caractres ne sont pas standardiss, et sont en gnral diffrents + des valeurs qui leur correspondent dans les en-ttes HTTP. + Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc + tester facilement vos noms de jeux de caractres en utilisant le + programme iconv(1), de la manire suivante :

    + +

    + iconv -f valeur-charsetsourceenc -t valeur-charsetdefault +

    + + +

    Incompatibilit entre le jeu de caractres du + contenu et les rgles de traduction

    + +

    Si les rgles de traduction ne peuvent s'appliquer au contenu, + la traduction peut chouer avec des consquences diverses, comme + :

    + +
      +
    • Le mcanisme de traduction peut renvoyer un mauvais code de + retour, et la connexion sera interrompue.
    • + +
    • Le mcanisme de traduction peut insrer silencieusement des + caractres spciaux (par exemple des points d'interrogation) dans + le tampon de sortie lorsqu'il n'est pas en mesure de traduire le + tampon d'entre.
    • +
    + +
    +
    top
    +

    CharsetDefault Directive

    + + + + + + + +
    Description:Jeu de caractre vers lequel la traduction doit +s'effectuer
    Syntaxe:CharsetDefault jeu de caractres
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Extension
    Module:mod_charset_lite
    +

    La directive CharsetDefault permet de + spcifier le jeu de caractres vers lequel le contenu situ dans le + conteneur associ devra tre traduit.

    + +

    La valeur de l'argument jeu de caractres doit tre + un nom de jeu de caractres valide du point de vue du support des + jeux de caractres dans APR. En gnral, 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>
    +      
    +
    + +
    + Spcifier le mme jeu de caractres pour les deux directives + CharsetSourceEnc + et CharsetDefault + dsactive la traduction. Le jeu de caractres ne doit pas forcment + correspondre au jeu de caractres de la rponse, mais il doit tre + valide du point de vue du systme. +
    + +
    +
    top
    +

    CharsetOptions Directive

    + + + + + + + + +
    Description:Prcise les dtails de la traduction du jeu de +caractres
    Syntaxe:CharsetOptions option [option] ...
    Dfaut:CharsetOptions ImplicitAdd
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Extension
    Module:mod_charset_lite
    +

    La directive CharsetOptions permet de + prciser certains dtails du comportement du module + mod_charset_lite. Option accepte les + valeurs suivantes :

    + +
    +
    ImplicitAdd | NoImplicitAdd
    + +
    Le mot-cl ImplicitAdd indique que + mod_charset_lite doit insrer son filtre de + manire implicite lorsque la configuration indique que le jeu de + caractre du contenu doit tre traduit. Si la chane de filtrage + est configure de manire explicite via la directive AddOutputFilter, l'option + NoImplicitAdd doit tre utilise afin que + mod_charset_lite n'ajoute pas son propre + filtre.
    + +
    TranslateAllMimeTypes | NoTranslateAllMimeTypes
    +
    Normalement, mod_charset_lite n'effectuera + une traduction qu'en prsence d'un petit nombre de types MIME + parmi tous les types possibles. Lorsque l'option + TranslateAllMimeTypes est utilise pour une section + de configuration donne, la traduction est effectue sans se + proccuper du type MIME.
    + +
    + +
    +
    top
    +

    CharsetSourceEnc Directive

    + + + + + + + +
    Description:Jeu de caractres source des fichiers
    Syntaxe:CharsetSourceEnc jeu de caractres
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Extension
    Module:mod_charset_lite
    +

    La directive CharsetSourceEnc permet de + spcifier un jeu de caractres source pour les fichiers situs dans + le conteneur associ.

    + +

    La valeur de l'argument jeu de caractres doit tre + un nom de jeu de caractres valide du point de vue du support des + jeux de caractres dans APR. En gnral, 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 caractres de cet exemple sont reconnus par + le mcanisme de traduction d'iconv sous Solaris 8.

    + +
    + Spcifier le mme jeu de caractres pour les deux directives + CharsetSourceEnc + et CharsetDefault + dsactive la traduction. Le jeu de caractres ne doit pas forcment + correspondre au jeu de caractres de la rponse, mais il doit tre + valide du point de vue du systme. +
    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index eb300e74..65de1c94 100644 --- a/docs/manual/mod/mod_charset_lite.html.ko.euc-kr +++ b/docs/manual/mod/mod_charset_lite.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_charset_lite

    ֽ ƴմϴ. @@ -194,6 +195,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_data

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Convertit un corps de rponse en URL de type donnes RFC2397
    Statut:Extension
    IdentificateurdeModule:data_module
    FichierSource:mod_data.c
    Compatibilit:Disponible depuis la version 2.3 du serveur HTTP Apache
    +

    Sommaire

    + +

    Ce module permet de convertir une rponse en URL de type donnes + RFC2397. +

    + +

    Les URLs de type donnes 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 + spares pour ventuellement extraire un grand nombre de petites + images. Les URLs de type donnes peuvent aussi tre incluses dans + des pages gnres par langages de scripting tels que PHP.

    + +

    Un exemple d'URL de type donnes

    + data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
    + AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
    + ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
    + a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
    + ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
    + F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
    + hhx4dbgYKAAA7
    +

    + +

    Le filtre n'accepte aucun paramtre, et peut tre ajout la + pile des filtres via la directive SetOutputFilter, ou toute autre directive + supporte par le module mod_filter.

    + +

    Configuration du filtre

    +<Location /data/images>
    +    SetOutputFilter DATA
    +</Location>
    +        
    +
    + +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 5cdb02d8..02a71d34 100644 --- a/docs/manual/mod/mod_dav.html +++ b/docs/manual/mod/mod_dav.html @@ -4,6 +4,10 @@ URI: mod_dav.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_dav.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_dav.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_dav.html.en b/docs/manual/mod/mod_dav.html.en index 3b117c3e..5b32ff20 100644 --- a/docs/manual/mod/mod_dav.html.en +++ b/docs/manual/mod/mod_dav.html.en @@ -25,6 +25,7 @@

    Apache Module mod_dav

    Available Languages:  en  | + fr  |  ja  |  ko 

    @@ -258,6 +259,7 @@ a DAV resource

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -278,7 +280,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_dav

    +
    +

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

    +
    + + + +
    Description:Fonctionnalit de cration et gestion de versions de +documents via le web (WebDAV)
    Statut:Extension
    IdentificateurdeModule:dav_module
    FichierSource:mod_dav.c
    +

    Sommaire

    + +

    Ce module ajoute Apache une fonctionnalit WebDAV de classes 1 et 2 + ('Web-based Distributed Authoring and Versioning' ou Cration et + gestion de versions de documents via le web). Il s'agit d'une + extension du protocole HTTP qui permet de crer, dplacer, 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 systme de fichier DAV implment par + le module mod_dav_fs. Ce dernier doit donc tre + compil dans le serveur ou charg au dmarrage l'aide de la + directive LoadModule.

    + +

    En outre, vous devez indiquer o se trouve la base de donnes des + verrous DAV via une directive DavLockDB dans la section globale de + votre fichier httpd.conf :

    + +
    +      DavLockDB /usr/local/apache2/var/DavLock
    +    
    + + +

    Le rpertoire contenant le fichier de la base de donnes des + verrous doit avoir des droits en criture pour l'utilisateur et le + groupe sous lesquels Apache s'excute et dfinis respectivement par + les directives User et + Group.

    + +

    Si vous souhaitez limiter l'accs aux rpertoires o DAV est + activ, vous pouvez ajouter une clause <Limit> dans la section <Location> considre. Pour + dfinir la quantit maximale de donnes en octets qu'un client + DAV peut envoyer par requte, vous devez utiliser la directive + LimitXMLRequestBody, car La + directive LimitRequestBody + "habituelle" n'a aucune incidence sur les requtes 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
    +
    +

    Problmes concernant la scurit

    + +

    Etant donn que les mthodes d'accs DAV permettent des clients + distants de manipuler des fichiers sur le serveur, vous devez vous + assurer que votre serveur est bien scuris avant d'activer + mod_dav.

    + +

    Tout rpertoire du serveur o DAV est activ doit tre protg + par une procdure d'authentification. L'utilisation de + l'authentification HTTP de base n'est pas recommande. Vous devez + utiliser au moins l'authentification HTTP base de condenss + qu'implmente le module mod_auth_digest. + Pratiquement tous les clients WebDAV supportent cette mthode + 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 rpertoires et les + fichiers qui sont sous son contrle ; en d'autre termes, c'est + l'utilisateur et le groupe sous lesquels Apache s'excute et dfinis + par les directives User et + Group qui doivent avoir + les droits en criture sur ces fichiers et rpertoires. Les fichiers + nouvellement crs appartiendront aussi ces utilisateur et groupe. + Par consquent, il est important de contrler l'accs ce compte. + Les rpertoires DAV sont considrs comme privs du point de vue + d'Apache, et la modification des fichiers qu'ils contiennent + autrement que par l'intermdiaire d'Apache (par exemple par FTP ou + par des outils du niveau du systme de fichiers) ne doit pas tre + permise.

    + +

    mod_dav peut faire l'objet de plusieurs sortes + d'attaques par dni de service. La directive LimitXMLRequestBody permet de limiter la + quantit de mmoire consomme pour interprter des requtes DAV de + grande taille. En outre, la directive DavDepthInfinity permet d'empcher les + requtes PROPFIND concernant un rpertoire de trs + grande taille de consommer de grandes quantits de mmoire. Un autre + type d'attaque par dni de service peut aussi tre men par un + client qui remplit simplement tout l'espace disque disponible avec + des fichiers de trs grande taille. Etant donn qu'il n'existe aucun + moyen direct d'viter ce genre d'attaque dans Apache, vous ne devez + accorder des accs DAV qu' des utilisateurs de confiance.

    +
    top
    +
    +

    Configurations complexes

    + +

    Les requtes 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 requte + GET va toujours tenter d'excuter le script, plutt que + de tlcharger son contenu. Pour viter cet inconvnient, une + mthode possible consiste faire correspondre deux URLs + diffrentes au mme contenu, l'une d'entre elles servant lancer le + script, alors que l'autre peut tre utilise pour le tlcharger 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 rsultat de + l'excution des scripts PHP, et + http://example.com/php-source pour les manipuler avec + DAV.

    +
    +
    top
    +

    Dav Directive

    + + + + + + + +
    Description:Active les mthodes HTTP WebDAV
    Syntaxe:Dav On|Off|nom fournisseur
    Dfaut:Dav Off
    Contexte:rpertoire
    Statut:Extension
    Module:mod_dav
    +

    La directive Dav permet d'activer les + mthodes HTTP WebDAV pour le conteneur condidr :

    + +
    +<Location /foo>
    +    Dav On
    +</Location>
    +    
    + + +

    La valeur On est en fait un alias vers le + fournisseur par dfaut filesystem implment par le + module mod_dav_fs. Notez que lorsque DAV est activ + pour un conteneur, on ne peut pas le dsactiver pour ses + sous-conteneurs. Pour un exemple de configuration complet, + reportez-vous la section prcdente.

    + +
    + N'activez pas WebDAV tant que votre serveur n'est pas scuris. Si + vous passez outre cette recommandation, tout le monde pourra + enregistrer des fichiers sur votre systme. +
    + +
    +
    top
    +

    DavDepthInfinity Directive

    + + + + + + + +
    Description:Autorise les requtes PROPFIND avec en-tte Depth: +Infinity
    Syntaxe:DavDepthInfinity on|off
    Dfaut:DavDepthInfinity off
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_dav
    +

    La directive DavDepthInfinity permet + d'autoriser le traitement des requtes PROPFIND + contenant l'en-tte Depth: Infinity. Par dfaut, ce type de requte + n'est pas autoris, car il peut favoriser les attaques de type Dni + de service.

    + +
    +
    top
    +

    DavMinTimeout Directive

    + + + + + + + +
    Description:Dure minimale pendant laquelle le serveur maintient un +verrou sur une ressource DAV
    Syntaxe:DavMinTimeout secondes
    Dfaut:DavMinTimeout 0
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_dav
    +

    Lorsqu'un client demande le verrouillage d'une ressource DAV, il + peut aussi spcifier une dure 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 + spcifier, en secondes, la dure minimale de verrouillage renvoyer + au client. Les Rpertoires Web de Microsoft prsentent une dure par + dfaut de 120 secondes ; la directive + DavMinTimeout permet de dfinir une valeur + suprieure (par exemple 600 secondes), afin de rduire les risques + de perte du verrou par le client suite une surcharge du + rseau.

    + +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index bdaae6ac..13ddd6d0 100644 --- a/docs/manual/mod/mod_dav.html.ja.utf8 +++ b/docs/manual/mod/mod_dav.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_dav

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -275,6 +276,7 @@ Alias /php-source /home/gstein/php_files

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -295,7 +297,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_dav_fs

    +
    +

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

    +
    +
    Cette traduction peut tre prime. Vrifiez la version + anglaise pour les changements rcents.
    + + + +
    Description:Implmente le fournisseur filesystem pour +mod_dav
    Statut:Extension
    IdentificateurdeModule:dav_fs_module
    FichierSource:mod_dav_fs.c
    +

    Sommaire

    + +

    L'activation de ce module ncessite l'utilisation de + mod_dav. C'est un module de support pour mod_dav et ce titre, il permet l'accs des ressources + situes dans le systme de fichiers du serveur. Le nom formel de ce + fournisseur est filesystem. Les fournisseurs supports + de mod_dav sont invoqus via la directive + Dav :

    + +

    Exemple

    +      Dav filesystem
    +      
    +
    + +

    Comme filesystem est le fournisseur par dfaut de + mod_dav, vous pouvez vous contenter d'utiliser la + valeur On comme argument de Dav.

    +
    +

    Directives

    + +

    Voir aussi

    +
    + +
    top
    +

    DavLockDB Directive

    + + + + + + +
    Description:Chemin de la base de donnes des verrous DAV
    Syntaxe:DavLockDB chemin fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dav_fs
    +

    La directive DavLockDB permet de spcifier + le chemin complet de la base de donnes des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considr comme relatif au + rpertoire dfini par la directive ServerRoot. L'implmentation de + mod_dav_fs utilise une base de donnes SDBM pour + surveiller les verrous utilisateurs.

    + + + +

    Exemple

    +      DavLockDB var/DavLock
    +      
    +
    + +

    Les utilisateur et groupe sous lesquels Apache s'excute et qui + sont respectivement dfinis par les directives User et Group doivent pouvoir crire dans le + rpertoire qui contient le fichier de la base de donnes des + verrous. Pour des raisons de scurit, il est recommand de crer un + rpertoire ddi la base de donnes des verrous, plutt que de + modifier les permissions d'un rpertoire existant. Dans l'exemple + ci-dessus, Apache va crer des fichiers dans le rpertoire + var/, lui-mme sous-rpertoire du rpertoire dfini par + la directive ServerRoot, avec le nom de base + DavLock suivi d'une extension choisie par le + serveur.

    + + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index a70ac0d4..7e11c06f 100644 --- a/docs/manual/mod/mod_dav_fs.html.ja.utf8 +++ b/docs/manual/mod/mod_dav_fs.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_dav_fs

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -88,6 +89,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -108,7 +110,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav_fs.html' } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_dav_lock

    +
    +

    Langues Disponibles:  en  | + fr  | + ja 

    +
    + + + + +
    Description:Module de verrouillage gnrique pour +mod_dav
    Statut:Extension
    IdentificateurdeModule:dav_lock_module
    FichierSource:mod_dav_lock.c
    Compatibilit:Disponible depuis la version 2.1 d'Apache
    +

    Sommaire

    + +

    ce module implmente une API de verrouillage gnrique que tout + fournisseur support de mod_dav peut utiliser. Son + activation ncessite 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 + implmente 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 gnrique, car il utilise sa propre + version plus spcifique.

    + +

    Pour que mod_dav_lock puisse fonctionner, il + vous suffit de spcifier le chemin de la base de donnes des verrous + l'aide de la directive DavGenericLockDB dcrite + ci-dessous.

    + +

    Note du dveloppeur

    +

    Pour dterminer 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.

    +
    +
    +

    Directives

    + +

    Voir aussi

    +
    + +
    top
    +

    DavGenericLockDB Directive

    + + + + + + +
    Description:Chemin de la base de donnes des verrous DAV
    Syntaxe:DavGenericLockDB chemin fichier
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_dav_lock
    +

    La directive DavLockDB permet de spcifier + le chemin complet de la base de donnes des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considr comme relatif au + rpertoire dfini par la directive ServerRoot. L'implmentation de + mod_dav_lock utilise une base de donnes SDBM pour + surveiller les verrous utilisateurs.

    + +

    Exemple

    +      DavGenericLockDB var/DavLock
    +      
    +
    + +

    Les utilisateur et groupe sous lesquels Apache s'excute et qui + sont respectivement dfinis par les directives User et Group doivent pouvoir crire dans le + rpertoire qui contient le fichier de la base de donnes des + verrous. Pour des raisons de scurit, il est recommand de crer un + rpertoire ddi la base de donnes des verrous, plutt que de + modifier les permissions d'un rpertoire existant. Dans l'exemple + ci-dessus, Apache va crer des fichiers dans le rpertoire + var/, lui-mme sous-rpertoire du rpertoire dfini 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 091e481e..36d117ba 100644 --- a/docs/manual/mod/mod_dav_lock.html.ja.utf8 +++ b/docs/manual/mod/mod_dav_lock.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_dav_lock

    翻訳済み言語:  en  | + fr  |  ja 

    この日本語訳はすでに古くなっている @@ -105,6 +106,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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_dbd

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Gestion des connexions une base de donnes SQL
    Statut:Extension
    IdentificateurdeModule:dbd_module
    FichierSource:mod_dbd.c
    Compatibilit:Versions 2.1 and suprieures
    +

    Sommaire

    + +

    Le module mod_dbd gre les connexions + une base de donnes SQL via APR. Il permet + aux modules qui requirent des fonctions lies aux bases de donnes + SQL de se connecter une base de donnes la demande, et s'efforce + de confrer aux bases de donnes une efficacit et une + volutivit optimales pour les MPMs threads ou non threads. Pour + plus de dtails, voir le site web APR, + ainsi que cette vue d'ensemble de l'environnement de + dveloppement d'Apache DBD par son dveloppeur initial. +

    +
    + +
    top
    +
    +

    Regroupement des connexions

    +

    Ce module gre de manire optimise en fonction de la plate-forme + les connexions aux bases de donnes. Sur les plates-formes non + threades, il maintient une connexion persistente la manire d'un + LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les + plates-formes threades, il maintient un groupe de + connexions la fois plus volutif et plus efficace, comme + dcrit dans cet + article d'ApacheTutor. Notez que mod_dbd + remplace les modules prsents dans cet article.

    +
    top
    +
    +

    API DBD d'Apache

    +

    mod_dbd exporte cinq fonctions que d'autres + modules pourront utiliser. L'API se prsente comme suit :

    + +
    +typedef struct {
    +    apr_dbd_t *handle;
    +    apr_dbd_driver_t *driver;
    +    apr_hash_t *prepared;
    +} ap_dbd_t;
    +
    +/* Fonctions exportes pour accder  la base de donnes */
    +
    +/* ouvre une connexion qui DOIT avoir t explicitement ferme.
    + * 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 dure de vie de la requte et qui
    + * NE DOIT PAS avoir t explicitement ferme. Renvoie NULL en cas
    + * d'erreur. C'est la fonction recommande pour la plupart des
    + * applications.
    + */
    +AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*);
    +
    +/* acquiert une connexion qui aura la dure de vie d'une connexion et
    + * qui NE DOIT PAS avoir t explicitement ferme. Renvoie NULL en cas
    + * d'erreur.
    + */
    +AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*);
    +
    +/* Prpare une requte 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
    + * pfreraient 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
    +
    +

    Requtes SQL prpares

    +

    mod_dbd supporte les requtes SQL prpares + destination des modules qui pourraient les utiliser. Chaque requte + prpare doit possder un nom (tiquette), et est stocke dans un + condens (hash) : les condenss sont du type + apr_dbd_prepared_t et s'utilisent dans toute requte + SQL ou commande select prpare par apr_dbd.

    + +

    Il est du ressort des modules utilisateurs de dbd d'utiliser les + requtes prpares et de prciser quelles requtes doivent tre + spcifies dans httpd.conf, ou de fournir leurs propres directives + et d'utiliser ap_dbd_prepare.

    + +

    Avertissement

    + Lorsqu'on utilise des requtes prpares avec des bases de + donnes MySQL, il est prfrable de dfinir + reconnect 0 dans la chane de connexion, afin + d'viter des erreurs provoques par un client MySQL qui se + reconnecterait sans rinitialiser correctement les requtes + prpares. Si reconnect est dfini 1, toute + connexion dfectueuse sera sense tre rpare, mais comme + mod_dbd n'en est pas inform, les requtes prpares seront + invalides. +
    +
    top
    +
    +

    AVERTISSEMENT DE SECURITE

    + +

    Toute application web impliquant une base de donnes doit se + protger elle-mme contre les attaques de type injection SQL. Dans + la plupart des cas Apache DBD est sr, car les applications + utilisent des requtes prpares, et les entres non sures ne seront + utilises qu' titre de donnes. Bien entendu, si vous l'utilisez + via un module tiers, vous devez tre au fait des prcautions + prendre.

    +

    Cependant, le pilote FreeTDS est non + sr de par sa nature-mme. Comme la bibliothque + sous-jacente ne supporte pas les requtes prpares, le pilote en + effectue une mulation, et les entres non sres sont fusionnes + avec la requte SQL.

    +

    Il peut tre scuris en dcontaminant toutes les + entres : un processus inspir de la recherche de contaminations + (taint mode) de + Perl. Chaque entre est compare une expression rationnelle, et + seules les entres qui correspondent sont utilises, en accord avec + le langage Perl :

    +
      $untrusted =~ /([a-z]+)/;
    +  $trusted = $1;
    +

    Pour utiliser ceci, les expressions rationnelles de + dcontamination doivent tre incluses dans les requtes prpares. + L'expression rationnelle doit se situer immdiatement aprs le + caractre % dans la requte prpare, et doit tre entoure + d'accolades {}. Par exemple, si votre application attend une entre + alphanumrique, vous pouvez utiliser :

    +

    + "SELECT foo FROM bar WHERE input = %s" +

    +

    avec d'autres pilotes, et ne risquer au pire qu'une requte + choue. 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 requte est maintenant sre.

    +

    Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui + offre la scurit des requtes prpares authentiques.

    +
    +
    top
    +

    DBDExptime Directive

    + + + + + + + +
    Description:Dure de vie des connexions inactives
    Syntaxe:DBDExptime dure en secondes
    Dfaut:DBDExptime 300
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de dfinir la dure de vie des connexions + inactives lorsque le nombre de connexions spcifi par la directive + DBDKeep a t dpass (plates-formes threades uniquement).

    + +
    +
    top
    +

    DBDInitSQL Directive

    + + + + + + +
    Description:Excute une instruction SQL aprs connexion une base de +donnes
    Syntaxe:DBDInitSQL "instruction SQL"
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Les modules qui le souhaitent peuvent excuter une ou plusieurs + instructions SQL aprs connexion une base de donnes. Par exemple + initialiser certaines valeurs, ou ajouter une entre dans le journal + lors d'une nouvelle connexion la base de donnes.

    + +
    +
    top
    +

    DBDKeep Directive

    + + + + + + + +
    Description:Nombre maximum de connexions maintenues
    Syntaxe:DBDKeep nombre
    Dfaut:DBDKeep 2
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de dfinir le nombre maximum de connexions + maintenir par processus, en dehors de celles servant grer les + pics de demandes (plates-formes threades uniquement).

    + +
    +
    top
    +

    DBDMax Directive

    + + + + + + + +
    Description:Nombre maximum de connexions
    Syntaxe:DBDMax nombre
    Dfaut:DBDMax 10
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de dfinir le nombre maximum effectif de + connexions par processus (plates-formes threades uniquement).

    + +
    +
    top
    +

    DBDMin Directive

    + + + + + + + +
    Description:Nombre minimum de connexions
    Syntaxe:DBDMin nombre
    Dfaut:DBDMin 1
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de dfinir le nombre minimum de connexions + par processus (plates-formes threades uniquement).

    + +
    +
    top
    +

    DBDParams Directive

    + + + + + + +
    Description:Paramtres de la connexion la base de +donnes
    Syntaxe:DBDParams +param1=valeur1[,param2=valeur2]
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de spcifier des paramtres selon les + besoins du pilote concern. En gnral, les paramtres passer + concernent tout ce qui n'a pas de valeur par dfaut comme le nom + d'utilisateur, le mot de passe, le nom de la base de donnes, le nom + d'hte et le numro de port de la connexion.

    +

    Les paramtres de la chane de connexion en fonction des + diffrents 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 chane de connexion est passe directement PQconnectdb
    +
    SQLite2
    +
    La chane de connexion est scinde avec comme sparateur le + caractre ':', et partie1:partie2 est utilis dans + sqlite_open(partie1, atoi(partie2), NULL)
    +
    SQLite3
    +
    La chane de connexion est passe directement sqlite3_open
    +
    ODBC
    +
    datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize
    +
    + +
    +
    top
    +

    DBDPersist Directive

    + + + + + + +
    Description:Utiliser ou non des connexions persistentes
    Syntaxe:DBDPersist On|Off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Si cette directive est dfinie Off, les connexions persistentes + et les connexions groupes sont dsactives. la demande d'un + client, une nouvelle connexion la base de donnes est ouverte, et + ferme immdiatement l'issue du traitement. Cette configuration ne + doit tre utilise qu' des fins de dbogage, ou sur des serveurs + charge faible.

    + +

    Par dfaut, les groupes de connexions persistentes sont activs + (ou une seule connexion persistente du style LAMP pour les serveurs + non threads), et c'est la configuration qui devrait tre utilise + 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
    +

    DBDPrepareSQL Directive

    + + + + + + +
    Description:Dfinit une requte SQL prpare
    Syntaxe:DBDPrepareSQL "requte SQL" tiquette
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Pour les modules tels que les modules d'authentification, qui + utilisent de manire rpte la mme requte SQL, on peut optimiser + les performances en prparant la requte une fois pour toutes au + dmarrage, plutt qu' chaque utilisation. Cette directive permet de + prparer une requte SQL et de lui assigner une tiquette.

    + +
    +
    top
    +

    DBDriver Directive

    + + + + + + +
    Description:Spcifie un pilote SQL
    Syntaxe:DBDriver nom
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_dbd
    +

    Cette directive permet de spcifier un pilote apr_dbd par son + nom. Le pilote doit tre install sur votre systme (sur la plupart + des systmes, il s'agit d'un objet partag ou d'une dll). Par + exemple, DBDriver mysql va slectionner le pilote MySQL + dans la bibliothque 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_deflate.html.en b/docs/manual/mod/mod_deflate.html.en index 6f5de16a..963b3740 100644 --- a/docs/manual/mod/mod_deflate.html.en +++ b/docs/manual/mod/mod_deflate.html.en @@ -272,7 +272,6 @@ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Context:server config, virtual host Status:Extension Module:mod_deflate -Compatibility:This directive is available since Apache 2.0.45

    The DeflateCompressionLevel directive specifies what level of compression should be used, the higher the value, @@ -289,7 +288,6 @@ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Context:server config, virtual host Status:Extension Module:mod_deflate -Compatibility:type is available since Apache 2.0.45

    The DeflateFilterNote directive specifies that a note about compression ratios should be attached @@ -393,7 +391,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_deflate.html } })(window, document); //-->

    + + + + +
    <-
    + +
    +

    Module Apache mod_dialup

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + +
    Description:Envoie le contenu statique avec une bande passante limite +dfinie par les diffrents standards des anciens modems.
    Statut:Exprimental
    IdentificateurdeModule:dialup_module
    FichierSource:mod_dialup.c
    +

    Sommaire

    + +

    Il s'agit d'un module qui envoie le contenu statique avec une bande +passante limite dfinie par les diffrents 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 insrer des +temporisations pour diminuer la bande passante. Grce cette nouvelle +fonctionnalit, un gestionnaire peut recevoir les rponses ses +callbacks aprs N millisecondes, et il sera invoqu par le module MPM +Event dans un thread diffrent la fin du dlai indiqu. partir de ce +moment, le gestionnaire peut continuer envoyer des donnes au +client.

    +
    +

    Directives

    + +
    + +
    top
    +

    ModemStandard Directive

    + + + + + + +
    Description:Standard de modem simuler
    Syntaxe:ModemStandard V.21|V.26bis|V.32|V.92
    Contexte:rpertoire
    Statut:Exprimental
    Module:mod_dialup
    +

    Cette directive permet de spcifier 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_dir.html.en b/docs/manual/mod/mod_dir.html.en index 2167272d..8d6138ed 100644 --- a/docs/manual/mod/mod_dir.html.en +++ b/docs/manual/mod/mod_dir.html.en @@ -118,8 +118,8 @@ a directory 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 +

    Note: Multiple DirectoryIndex + directives within the same context will add to the list of resources to look for rather than replace:

    @@ -186,7 +186,6 @@ a directory
     Override:Indexes
     Status:Base
     Module:mod_dir
    -Compatibility:Available in version 2.0.51 and later
     
         

    The DirectorySlash directive determines whether mod_dir should fixup URLs pointing to a directory or @@ -228,7 +227,7 @@ a directory 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 +

    Also note that some browsers may erroneously change POST requests into GET (thus discarding POST data) when a redirect is issued.

    @@ -236,12 +235,14 @@ a directory

    FallbackResource Directive

    - + +
    Description:Define a default URL for requests that don't map to a file
    Syntax:FallbackResource local-url
    Syntax:FallbackResource disabled | local-url
    Default:None - 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). @@ -267,11 +268,16 @@ a directory

    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>
         
    @@ -302,7 +308,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dir.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_example

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    + + + +
    Description:Illustration de l'API des modules Apache
    Statut:Exprimental
    IdentificateurdeModule:example_module
    FichierSource:mod_example.c
    +

    Sommaire

    + +

    Certains fichiers situs dans le rpertoire + modules/experimental 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.c, qui + constitue une illustration exhaustive des diffrents mcanismes et + syntaxes d'appels. En aucun cas un module additionnel n'aura + inclure des routines pour tous les appels - il n'en ncessitera au + contraire qu'un petit nombre !

    + +

    Le module example fonctionne rellement. Si vous le chargez dans + votre serveur, activez le gestionnaire "example-handler" dans une + section location, et essayez d'accder la zone du site web + correspondante, vous verrez s'afficher certaines sorties que le + module example produit au cours des diffrents appels.

    +
    + +
    top
    +
    +

    Compilation du module example

    + +

    Pour inclure le module example dans votre serveur, effectuez les + tapes suivantes :

    + +
      +
    1. Excutez configure avec l'option + --enable-example.
    2. + +
    3. Compilez le serveur (excutez la commande + "make").
    4. +
    + +

    Pour ajouter votre propre module :

    + +
      +
    1. cp modules/experimental/mod_example.c + modules/nouveau_module/mod_monexemple.c
    2. + +
    3. Modifiez le fichier.
    4. + +
    5. Crez modules/nouveau_module/config.m4. +
        +
      1. Ajoutez APACHE_MODPATH_INIT(nouveau_module).
      2. +
      3. Copiez la ligne APACHE_MODULE contenant "example" depuis + modules/experimental/config.m4.
      4. +
      5. Remplacez le premier argument "example" par + monexemple.
      6. +
      7. Remplacez le second argument par une brve description de + votre module. Cette description sera utilise par la commande + configure --help.
      8. +
      9. Si la compilation de votre module ncessite des drapeaux + de compilation C, des drapeaux d'dition de liens, ou de + bibliothques supplmentaires, ajoutez les respectivement + CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers + config.m4 des rpertoires des autres modules pour + plus d'exemples.
      10. +
      11. Ajoutez APACHE_MODPATH_FINISH.
      12. +
      +
    6. + +
    7. Crez le fichier + module/nouveau_module/Makefile.in. + Si la compilation de votre module ne ncessite pas d'instructions + particulires, ce fichier ne doit contenir que la ligne + include $(top_srcdir)/build/special.mk.
    8. + +
    9. Excutez ./buildconf la racine du rpertoire.
    10. + +
    11. Compilez le serveur aprs avoir excut la commande configure + avec l'option --enable-monexemple.
    12. + +
    +
    top
    +
    +

    Utilisation du module +mod_example

    + +

    Pour activer le module example, ajoutez votre fichier + httpd.conf un bloc du style :

    +
    +<Location /example-info>
    +   SetHandler example-handler
    +</Location>
    +
    + + +

    Vous pouvez aussi ajouter ce qui suit dans un fichier .htaccess, puis + accder au fichier "test.example" partir du rpertoire + correspondant :

    + +
    +   AddHandler example-handler .example
    +   
    + + +

    Aprs avoir recharg la configuration ou redmarr votre serveur, + vous devriez pouvoir accder ce fichier et voir s'afficher ce qui + a t dcrit plus haut.

    +
    +
    top
    +

    Example Directive

    + + + + + + +
    Description:Directive de dmonstration pour illustrer l'API des modules +Apache
    Syntaxe:Example
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    Statut:Exprimental
    Module:mod_example
    +

    La directive Example n'a pour fonction que + de dfinir un drapeau de dmonstration que le gestionnaire de + contenu du module example va afficher. Elle ne possde aucun + argument. Si vous naviguez vers une URL laquelle le gestionnaire + de contenu example s'applique, vous verrez s'afficher les routines + du module, ainsi que l'ordre dans lequel elles ont t appeles 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_example.html.ko.euc-kr b/docs/manual/mod/mod_example.html.ko.euc-kr index 429389cf..013329b6 100644 --- a/docs/manual/mod/mod_example.html.ko.euc-kr +++ b/docs/manual/mod/mod_example.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_example

    ֽ ƴմϴ. @@ -151,6 +152,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_ext_filter

    +
    +

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

    +
    + + + +
    Description:Fait traiter le corps de la rponse par un programme +externe avant de l'envoyer au client
    Statut:Extension
    IdentificateurdeModule:ext_filter_module
    FichierSource:mod_ext_filter.c
    +

    Sommaire

    + +

    mod_ext_filter reprsente un modle de + programmation simple et bien connu pour les filtres. Avec ce module, tout programme + qui lit l'entre standard stdin et crit sur la sortie standard + stdout (autrement dit une commande filtre de style Unix) peut + servir de filtre pour Apache. Ce mcanisme de filtrage est beaucoup + plus lent qu'un filtre spcialement crit pour + l'API d'Apache et faisant partie intgrante du processus du serveur + Apache, mais il prsente les avantages suivants :

    + +
      +
    • le modle 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'entre standard et + d'crire sur la sortie standard.
    • + +
    • on peut utiliser des programmes existants comme filtres Apache + sans modification.
    • +
    + +

    Mme 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.

    + +
    +

    Directives

    + +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Exemples

    + +

    Gnrer du HTML partir d'un autre type de + contenu

    + +
    +# la directive de mod_ext_filter dfinissant un filtre
    +# permettant de mettre des fichiers text/c au format HTML en
    +# utilisant le programme externe /usr/bin/enscript, le type du
    +# fichier rsultant tant dfini  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 dfinissant le type des fichiers dont
    +    # le nom possde l'extension .c  text/c
    +    AddType text/c .c
    +</Directory>
    +      
    + + + +

    Implmentation 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'implmentation plus + raliste.

    + +
    +# la directive de mod_ext_filter qui dfinit 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_header permettant d'ajouter le champ
    +    # d'en-tte "Content-Encoding: gzip"
    +    Header set Content-Encoding gzip
    +</Location>
    +      
    + + + + +

    Ralentissement du serveur

    +
    +# directive de mod_ext_filter dfinissant un filtre qui fait
    +# passer tout 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 supplmentaires
    +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 + rponse

    + +
    +# directive de mod_ext_filter dfinissant un filtre qui
    +# remplace du texte dans la rponse
    +#
    +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>
    +      
    + + + + +

    Tracer un autre filtre

    +
    +# Trace les donnes lues et crites par mod_deflate pour un
    +# client particulier (IP 192.168.1.31) qui a des problmes 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 paramtre ftype, le type de filtre par
    +# dfaut AP_FTYPE_RESOURCE placerait le filtre *avant*
    +# mod_deflate dans la chane de filtrage. Le fait d'affecter
    +#  ce paramtre une valeur numrique sensiblement suprieure 
    +# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
    +# plac aprs 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 donnes :

    +#!/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:Dfinit un filtre externe
    Syntaxe:ExtFilterDefine nom filtre paramtres
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ext_filter
    +

    La directive ExtFilterDefine permet de + dfinir les caractristiques d'un filtre externe, et en particulier + le programme excuter ainsi que ses arguments.

    + +

    nom filtre spcifie le nom du filtre en cours de + dfinition. On peut ensuite utiliser ce nom pour rfrencer le + filtre dans les directives SetOutputFilter. Il doit tre unique parmi les noms de + tous les filtres enregistrs. Pour le moment, aucune erreur + n'est signale par l'API register-filter, si bien qu'un problme de + noms dupliqus ne sera pas port la connaissance de + l'utilisateur.

    + +

    Viennent ensuite un ou plusieurs paramtres dans un ordre + indfini, qui permettent de spcifier la commande externe excuter + et certaines autres caractristiques. Le seul paramtre obligatoire + est cmd=. Voici la liste de ces paramtres :

    + +
    +
    cmd=ligne de commande
    + +
    Le mot-cl cmd= permet de spcifier la commande + externe excuter. Si la ligne de commande comporte des + arguments, elle doit tre entoure de guillemets (par exemple + cmd="/bin/mypgm arg1 + arg2"). Les guillemets habituels du shell ne + sont pas ncessaires car le programme est lanc directement, sans + passer par le shell. Les arguments du programme doivent tre + spars par des espaces. Si un argument contient des espaces, ces + derniers doivent tre chapps par un antislash '\'. Si un + argument contient des antislashes '\', ces derniers doivent tre + eux-mmes chapps par un antislash '\'. Outre les variables + d'environnement CGI standards, les variables DOCUMENT_URI, + DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront aussi + dfinies pour le programme.
    + +
    mode=mode
    + +
    Utilisez mode=output (valeur par dfaut) pour les + filtres qui traitent les rponses. Utilisez + mode=input pour les filtres qui traitent les + requtes. mode=input est disponible depuis la version + 2.1 d'Apache.
    + +
    intype=type MIME
    + +
    Ce paramtre permet de spcifier le type de mdium Internet + (c'est dire le type MIME) des documents qui doivent tre + filtrs. Par dfaut, tous les documents sont filtrs. Tous les + documents possdant un type MIME autre que celui spcifi par + intype= ne seront pas filtrs.
    + +
    outtype=type MIME
    + +
    Ce paramtre permet de spcifier le type de mdium Internet + (c'est dire le type MIME) des documents filtrs. Il intervient + lorsque les oprations de filtrage comprennent une modification du + type MIME. Par dfaut, 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 dfaut, car la plupart des filtres modifient cette + taille. Ce mot-cl doit tre spcifi si le filtre ne doit pas + modifier la taille du contenu.
    + +
    ftype=type de filtre
    + +
    Ce paramtre permet de spcifier une valeur numrique + reprsentant le type de filtre sous lequel le filtre doit tre + enregistr. La valeur par dfaut, AP_FTYPE_RESOURCE, convient dans + la plupart des situations. Si le filtre doit oprer dans la chane + de filtrage un autre point que les filtres de ressources, ce + paramtre est ncessaire. Voir les dfinitions de AP_FTYPE_... + dans util_filter.h pour trouver une valeur approprie.
    + +
    disableenv=env
    + +
    Ce paramtre permet de spcifier le nom d'une variable + d'environnement qui, si elle est dfinie, va dsactiver le + filtre.
    + +
    enableenv=env
    + +
    Ce paramtre permet de spcifier le nom d'une variable + d'environnement qui doit tre dfinie pour que le filtre ne soit + pas dsactiv.
    +
    + +
    +
    top
    +

    ExtFilterOptions Directive

    + + + + + + + +
    Description:Configure les options de +mod_ext_filter
    Syntaxe:ExtFilterOptions option [option] ...
    Dfaut:ExtFilterOptions NoLogStderr
    Contexte:rpertoire
    Statut:Extension
    Module:mod_ext_filter
    +

    La directive ExtFilterOptions permet de + spcifier des options de traitement particulires pour + mod_ext_filter. Les arguments option + peuvent contenir :

    + +
    +
    LogStderr | NoLogStderr
    + +
    Le mot-cl LogStderr indique que les messages + envoys par le programme de filtrage externe sur la sortie + d'erreurs standard doivent tre enregistrs 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 dmarrer. Avec abort (la valeur par + dfaut), la requte sera abandonne. Avec remove, le + filtre est supprim, et le traitement de la requte se poursuit + sans lui.
    +
    + +
    +      ExtFilterOptions LogStderr
    +    
    + + +

    Les messages envoys vers la sortie d'erreurs standard du filtre + seront enregistrs 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 9de42c6f..4da90b71 100644 --- a/docs/manual/mod/mod_ext_filter.html.ja.utf8 +++ b/docs/manual/mod/mod_ext_filter.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_ext_filter

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -366,6 +367,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -386,7 +388,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ext_filter.h } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_file_cache

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    + + + +
    Description:Mise en cache mmoire d'une liste statique de +fichiers
    Statut:Exprimental
    IdentificateurdeModule:file_cache_module
    FichierSource:mod_file_cache.c
    +

    Sommaire

    + + +
    + Ce module doit tre utilis avec prcautions. Il est recommand de + lire attentivement ce document, car l'utilisation de + mod_file_cache peut facilement conduire la + cration d'un site inoprant. +
    + +

    La mise en cache de fichiers souvent demands mais rarement + modifis est une technique permettant de rduire la charge du + serveur. mod_file_cache met en oeuvre deux + techniques de mise en cache de fichiers statiques + frquemment demands. Des directives de configuration vous + permettent d'indiquer mod_file_cache soit + d'ouvrir et de charger une image en mmoire d'un fichier avec + mmap(), soit de prouvrir un fichier et de maintenir en + service le gestionnaire du fichier. Les deux techniques + permettent de rduire la charge du serveur lors du traitement des + requtes concernant ces fichiers, en accomplissant une partie du + travail ncessaire la mise disposition de ces fichiers (en + particulier les oprations d'entres/sorties sur les fichiers) au + dmarrage du serveur, plutt qu'au cours de chaque requte.

    + +

    Note : ces techniques sont inutilisables pour acclrer des + programmes CGI ou d'autres fichiers servis par des gestionnaires de + contenu spciaux. Elles ne peuvent tre utilises 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 gre la mise en cache d'une liste + de fichiers dfinie de manire statique via une des directives + MMapFile ou + CacheFile au niveau + de la configuration du serveur principal.

    + +

    Les deux directives ne sont pas supportes 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 supporte. si vous utilisez une + directive non supporte, le serveur dmarrera, 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 dterminer + quelle directive vous convient le mieux.

    + +

    Directive MMapFile

    + +

    La directive MMapFile du module + mod_file_cache permet de transfrer en mmoire + une liste statique de fichiers l'aide de l'appel systme + mmap(). Cet appel systme est disponible sur la + plupart des plates-formes de style Unix, mais pas sur toutes. Il + existe parfois des limites spcifiques au systme quant la + taille et au nombre de fichiers qui peuvent tre + mmap()s, et l'exprimentation est probablement la + mthode la plus simple pour dterminer ces limites.

    + +

    Ce mmap()age n'est effectu qu'une seul fois au + dmarrage ou redmarrage du serveur. Ainsi, chaque fois qu'un des + fichiers chargs en mmoire est modifi au niveau du systme de + fichiers, vous devez redmarrer le serveur (voir la + documentation sur l'Arrt et redmarrage). Pour bien + insister sur ce point, si des fichiers sont modifis sur + disque, et si vous ne redmarrez pas le serveur, vous allez + finir par servir des contenus compltement obsoltes. 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 rside dans le fait que cette + vrification ncessiterait un appel stat() chaque + accs, et en fin de compte, l'augmentation de la consommation de + ressources finirait par aller contre le but initial de + rduire les entres/sorties.

    + + +

    Directive CacheFile

    + +

    La directive CacheFile du module + mod_file_cache permet d'associer un + gestionnaire ou descripteur de fichier chaque + fichier numr dans la directive de configuration et place ces + gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des + fichier est demand, le serveur slectionne son gestionnaire dans + le cache et le transmet l'API sendfile() (ou + TransmitFile() sous Windows).

    + + + +

    Cette mise en cache des gestionnaire n'est effectue qu'une + seule fois au dmarrage ou redmarrage du systme. Ainsi, chaque + fois qu'un des fichiers chargs en mmoire est modifi au niveau + du systme de fichiers, vous devez redmarrer le serveur + (voir la documentation sur l'Arrt et redmarrage). + Pour bien + insister sur ce point, si des fichiers sont modifis sur + disque, et si vous ne redmarrez pas le serveur, vous allez + finir par servir des contenus compltement obsoltes. 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 rpertoire en cache, de manire rcursive. Pour y + parvenir, vous pouvez vous reporter la directive Include directive, et considrer cette + commande :

    + +

    + find /www/htdocs -type f -print \
    + | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf +

    +
    +
    +
    top
    +

    CacheFile Directive

    + + + + + + +
    Description:Met en cache une liste de gestionnaires de fichiers au +dmarrage
    Syntaxe:CacheFile chemin fichier [chemin fichier] ...
    Contexte:configuration du serveur
    Statut:Exprimental
    Module:mod_file_cache
    +

    La directive CacheFile permet d'associer + des gestionnaires un ou plusieurs fichiers (spars par des + espaces), et de placer ceux-ci dans le cache au dmarrage du + serveur. Les gestionnaires des fichiers mis en cache sont + automatiquement ferms l'arrt du serveur. Lorsqu'un ou plusieurs + fichiers ont t modifis sur disque, le serveur doit tre redmarr + 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 systme de fichier que + crent 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 ncessiterait un + appel stat() supplmentaire, ce qui n'est pas acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers rcrits par mod_alias ou + mod_rewrite.

    + +

    Exemple

    +      CacheFile /usr/local/apache/htdocs/index.html
    +      
    +
    + +
    +
    top
    +

    MMapFile Directive

    + + + + + + +
    Description:Charge au dmarrage une liste de fichiers en mmoire
    Syntaxe:MMapFile chemin fichier [chemin fichier] ...
    Contexte:configuration du serveur
    Statut:Exprimental
    Module:mod_file_cache
    +

    La directive MMapFile permet de charger un + ou plusieurs fichiers (spars par des espaces) en mmoire au + dmarrage du serveur. Ceux-ci sont automatiquement dchargs de la + mmoire l'arrt du serveur. Lorsqu'un ou plusieurs fichiers ont + t modifis 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 systme de fichier que + crent 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 ncessiterait un + appel stat() supplmentaire, ce qui n'est pas + acceptable. + Il n'est pas garanti que ce module fonctionne avec des noms de + fichiers rcrits 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index f89a3702..d0f6bf17 100644 --- a/docs/manual/mod/mod_file_cache.html.ko.euc-kr +++ b/docs/manual/mod/mod_file_cache.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_file_cache

    ֽ ƴմϴ. @@ -198,6 +199,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_filter

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Module de configuration de filtre intelligent sensible au +contexte
    Statut:Base
    IdentificateurdeModule:filter_module
    FichierSource:mod_filter.c
    Compatibilit:Versions 2.1 et suprieures
    +

    Sommaire

    + +

    Ce module permet une configuration intelligente et dpendant du + contexte des filtres de contenu en sortie. Par exemple, Apache peut + tre configur pour faire traiter diffrents types de contenus par + diffrents filtres, mme 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 chane de filtrage. Plutt que + d'insrer directement des filtres dans la chane, on insre un + slecteur 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 ncessaire + (bien qu'il soit tout de mme possible de les simplifier).

    +
    + +
    top
    +
    +

    Filtrage intelligent

    +

    Dans le modle de filtrage traditionnel, les filtres sont insrs + sans condition l'aide de la directive AddOutputFilter et des directives + apparentes. Chaque filtre doit ensuite dterminer s'il doit + s'excuter ou non, et les administrateurs du serveur disposent de + peu de souplesse pour faire en sorte que la chane soit traite de + manire dynamique.

    + +

    mod_filter, l'oppos, fournit aux + administrateurs du serveur un grand degr de souplesse pour + configurer la chane de filtrage. Concrtement, la dcision + d'insrer un filtre peut tre prise en fonction d'une expression boolenne complexe. Ceci + gnralise le fonctionnement relativement souple de la directive + AddOutputFilterByType.

    +
    top
    +
    +

    Dclarations de filtres, fournisseurs et +chanes

    +

    + [Cette image illustre le modle de filtrage traditionnel]
    + Figure 1: Le modle de filtrage traditionnel

    + +

    Dans le modle traditionnel, les filtres en sortie constituent + une simple chane s'tendant depuis le gnrateur de contenu (ou + gestionnaire) jusqu'au client. Ce fonctionnement peut convenir si la + chane de filtrage peut tre correctement configure, mais pose + problme lorsque cette chane doit tre configure dynamiquement en + fonction de la sortie du gestionnaire.

    + +

    + [Cette image illustre le modle de fonctionnement de     mod_filter]
    + Figure 2: Le modle de fonctionnement de + mod_filter

    + +

    Le fonctionnement de mod_filter consiste + introduire des branchements dans la chane de filtrage. Plutt que + d'insrer directement des filtres dans la chane, on insre un + slecteur 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 ncessaire + (bien qu'il soit tout de mme possible de les simplifier). Il peut y + avoir plusieurs fournisseurs pour un seul filtre, mais un seul + fournisseur sera choisi pour chaque requte.

    + +

    Une chane de filtrage peut comporter autant d'instances du + slecteur de filtre que l'on souhaite, chacune d'entre elles pouvant + disposer de plusieurs fournisseurs. Un slecteur de filtre possdant + un seul fournisseur dont le choix est inconditionnel constitue un + cas particulier : cette situation est quivalente l'insertion + directe du filtre dans la chane.

    +
    top
    +
    +

    Configuration de la chane de +filtrage

    +

    Trois tapes sont ncessaires pour configurer une chane de + filtrage avec mod_filter. Voir ci-dessous la + description dtaille des directives.

    + +
    +
    Dclaration des filtres
    +
    La directive FilterDeclare permet de dclarer un + filtre en lui assignant un nom et un type. Elle n'est obligatoire + que si le filtre n'est pas du type par dfaut + AP_FTYPE_RESOURCE.
    + +
    Enregistrement des fournisseurs
    +
    La directive FilterProvider permet d'associer un + fournisseur un filtre. Le filtre a t ventuellement dclar + l'aide de la directive FilterDeclare ; si ce n'est pas le cas, FilterProvider + va le dclarer implicitement avec le type par dfaut + 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'excutera pour une requte si et seulement si + l'expression est value vraie. L'expression peut valuer une + requte HTTP ou les en-ttes de la rponse, des variables + d'environnement, ou le gestionnaire utilis par cette requte. la + diffrence des version prcdentes, mod_filter supporte dsormais + les expressions complexes associant des critres multiples au moyen + d'une logique AND / OR (&& / ||) et de parenthses. Pour les + dtails sur la syntaxe de l'expression, voir la documentation sur ap_expr.
    + +
    Configuration de la chane de filtrage
    +
    Les directives ci-dessus permettent d'laborer les lments + d'une chane de filtrage intelligente, mais pas de les configurer en + vue de leur excution. La directive FilterChain labore une chane de filtrage + partir de filtres intelligents dclars, permettant avec souplesse + d'insrer des filtres au dbut ou la fin de la chane, de + supprimer un filtre ou mme la chane complte.
    +
    +
    top
    +
    +

    Filtrage et statut de la rponse

    +

    Normalement, mod_filter n'applique les filtres qu'aux rponses + possdant un statut HTTP 200 (OK). Pour pouvoir filtrer des + documents possdant un autre statut, vous devez dfinir la variable + d'environnement filter-errordocs, les rponses tant + alors filtres sans se proccuper de leur statut. Pour dfinir ce + comportement de manire 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 modifie par + rapport httpd 2.2 : les arguments match et + dispatch ont t remplacs par l'argument unique + expression plus polyvalent. En gnral, il est possible + de convertir une paire match/dispatch vers les deux cts d'une + expression, de la manire suivante :

    +

    "dispatch = 'match'"

    +

    Les en-ttes de requte et de rponse et les variables + d'environnement sont maintenant interprts selon les syntaxes + respectives %{req:foo}, %{resp:foo} et + %{env:foo}. Les variables %{HANDLER} et + %{CONTENT_TYPE} sont galement supportes.

    +

    Notez que l'valuation de l'expression ne supporte plus les + comparaisons de sous-chanes. Ces dernires peuvent + tre remplaces par des comparaisons d'expressions rationnelles.

    +
    top
    +
    +

    Exemples

    +
    +
    Inclusions ct serveur (SSI)
    +
    Un exemple simple de remplacement de la directive AddOutputFilterByType +
    +FilterDeclare SSI
    +FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
    +FilterChain SSI
    +    
    + +
    + +
    Inclusions ct serveur (SSI)
    +
    Mme exemple que ci-dessus, mais envoi vers un gestionnaire + (comportement classique des SSI ; les fichiers .shtml sont + traits). +
    +FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
    +FilterChain SSI
    +    
    + +
    + +
    mulation de mod_gzip avec mod_deflate
    +
    Insertion du filtre INFLATE seulement si l'en-tte + Accept-Encoding a une valeur autre que "gzip". Ce filtre s'excute + avec le type ftype CONTENT_SET. +
    +FilterDeclare gzip CONTENT_SET
    +FilterProvider gzip inflate "%{req:Accept-Encoding} !~ /gzip/"
    +FilterChain gzip
    +    
    + +
    + +
    Diminution de la rsolution d'une image
    +
    Supposons que nous voulions rduire la rsolution 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 reprsente dans les en-ttes de la + rponse HTTP, et qu'il ne s'excutera pas si cette excution + rsultait en une modification interdite. Ceci impose aux auteurs de + filtres la corve de rimplmenter certaines fonctionnalits + communes dans chaque filtre :

    + +
      +
    • De nombreux filtres modifient les contenus, et de ce fait + invalident les balises de ces contenus, leur somme de + contrle, leur condens (hash) existant, ainsi que leur + taille.
    • + +
    • Les filtres qui ncessitent une rponse entire et non tronque en + entre, doivent s'assurer qu'il n'ont pas reu une rponse une + requte partielle.
    • + +
    • Les filtres qui modifient la sortie d'un autre filtre doivent + s'assurer qu'ils ne violent pas la directive d'un en-tte + Cache-Control: no-transform ventuel.
    • + +
    • Les filtres peuvent agir sur des rponses de faon ce qu'elles + ne puissent plus tre mises en cache.
    • +
    + +

    mod_filter a pour but de grer de manire + gnrale ces dtails de l'implmentation des filtres, rduisant par + l-mme la complexit des modules de filtrage de contenu. Le + travail permettant d'atteindre ce but est cependant toujours en + cours ; la directive FilterProtocol + implmente certaines de ces fonctionnalits des fins de + compatibilit ascendante avec les modules d'Apache 2.0. Pour les + versions 2.1 et suprieures de httpd, les API + ap_register_output_filter_protocol et + ap_filter_protocol permettent aux modules de filtrage + de dfinir leurs propres comportements.

    + +

    Cependant, mod_filter ne doit pas interfrer + avec un filtre qui gre dj tous les aspects du protocole. Par + dfaut (c'est dire en l'absence de toute directive FilterProtocol), + mod_filter ne modifiera donc pas les en-ttes.

    + +

    Au moment o ces lignes sont crites, cette fonctionnalit a t + trs peu teste, car les modules d'usage courant ont t conus pour + fonctionner avec httpd 2.0. Les modules qui l'utilisent devront donc + l'exprimenter avec prcautions.

    +
    +
    top
    +

    AddOutputFilterByType Directive

    + + + + + + + + +
    Description:assigne un filtre en sortie pour un type de mdia +particulier
    Syntaxe:AddOutputFilterByType filtre[;filtre...] +type de mdia [type de mdia] ...
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_filter
    Compatibilit:Prsentait de svres limitations avant d'tre dplac dans +mod_filter dans la version 2.3.7
    +

    Cette directive active un filtre en sortie particulier pour une + requte en fonction du type de mdia de la rponse.

    + +

    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 spars 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
    +

    FilterChain Directive

    + + + + + + + +
    Description:Configure la chane de filtrage
    Syntaxe:FilterChain [+=-@!]nom filtre ...
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Base
    Module:mod_filter
    +

    Cette directive permet de configurer une chane de filtrage + compose de filtres dclars. FilterChain + accepte un nombre illimit d'arguments, chacun d'entre eux tant + prcd d'un caractre de contrle unique qui dtermine l'action + entreprendre :

    + +
    +
    +nom filtre
    +
    Ajoutenom filtre la fin de la chane de filtrage
    + +
    @nom filtre
    +
    Ajoute nom filtre au dbut de la chane de filtrage
    + +
    -nom filtre
    +
    Supprime nom filtre de la chane de filtrage
    + +
    =nom filtre
    +
    Supprime tous les filtres de la chane de filtrage existante et + les remplace par nom filtre
    + +
    !
    +
    Supprime tous les filtres de la chane de filtrage existante
    + +
    nom filtre
    +
    quivalent +nom filtre
    +
    + +
    +
    top
    +

    FilterDeclare Directive

    + + + + + + + +
    Description:Dclare un filtre intelligent
    Syntaxe:FilterDeclare nom filtre [type]
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Base
    Module:mod_filter
    +

    Cette directive permet de dclarer un filtre en sortie associ + un en-tte ou une variable d'environnement qui dterminera les + conditions de son excution. 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 dfaut), CONTENT_SET, + PROTOCOL, TRANSCODE, + CONNECTION ou NETWORK.

    + +
    +
    top
    +

    FilterProtocol Directive

    + + + + + + + +
    Description:Vrifie le respect du protocole HTTP
    Syntaxe:FilterProtocol nom filtre [nom fournisseur] + drapeaux protocole
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Base
    Module:mod_filter
    +

    Cette directive permet mod_filter de s'assurer + qu'un filtre ne s'excutera pas s'il ne doit pas le faire, et que + les en-ttes de la rponse HTTP sont dfinis correctement en tenant + compte des effets du filtre.

    + +

    Cette directive se prsente sous deux formes. Avec trois + arguments, elle s'applique de manire spcifique 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.

    + +

    drapeaux protocole peut contenir un ou plusieurs + drapeaux parmi les suivants :

    + +
    +
    change=yes
    +
    Le filtre modifie 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 rponses des sous-requtes et + ncessite des rponses compltes en entre
    + +
    proxy=no
    +
    Le filtre ne doit pas s'excuter dans un contexte de mandataire
    + +
    proxy=transform
    +
    Le filtre transforme la rponse de manire incompatible avec + l'en-tte 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 + alatoires)
    +
    + +
    +
    top
    +

    FilterProvider Directive

    + + + + + + + +
    Description:Enregistre un filtre de contenu
    Syntaxe:FilterProvider nom filtre nom fournisseur + expression
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride: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 value vraie lorsque le slecteur de + filtre est appel pour la premire 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
    +

    FilterTrace Directive

    + + + + + + +
    Description:Obtention d'informations de dbogage/diagnostique en +provenance de mod_filter
    Syntaxe:FilterTrace nom filtre niveau
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Base
    Module:mod_filter
    +

    Cette directive permet d'obtenir des informations de dbogage en + provenance de mod_filter. Elle est conue pour + aider tester et dboguer les fournisseurs (ou modules de filtrage) + ; elle peut aussi apporter une aide l'utilisation de + mod_filter lui-mme.

    + +

    La sortie de dbogage dpend de la dfinition d'argument + level :

    +
    +
    0 (valeur par dfaut)
    +
    Aucune information de dbogage n'est gnre.
    + +
    1
    +
    mod_filter va enregistrer les ensembles de + conteneurs de donnes (buckets and brigades) qui traversent le + filtre dans le journal des erreurs, avant que le fournisseur ne les + traite. Ces informations sont similaires celles gnres par mod_diagnostics. +
    + +
    2 (pas encore implment)
    +
    Ce niveau permettra d'enregistrer l'ensemble des donnes qui + traversent le filtre dans un fichier temporaire avant de les envoyer + au fournisseur. Pour un dbogage mono-utilisateur + seulement ; l'enregistrement des donnes concernant + plusieurs requtes simultannes 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_headers.html.en b/docs/manual/mod/mod_headers.html.en index 775e4def..5cebddcd 100644 --- a/docs/manual/mod/mod_headers.html.en +++ b/docs/manual/mod/mod_headers.html.en @@ -341,10 +341,25 @@ Header merge Cache-Control no-store env=NO_STORE 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. -%{VARNAME}e +%l + The 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 /. + +%i + The current idle percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by i=. + +%b + The current busy percentage of httpd (0 to 100) based on available + processes and threads. The value is preceded by b=. + +%{VARNAME}e The contents of the environment variable VARNAME. -%{VARNAME}s +%{VARNAME}s The contents of the SSL environment variable VARNAME, if mod_ssl is enabled. @@ -510,7 +525,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_headers.html } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_isapi

    +
    +

    Langues Disponibles:  en  | + fr  | + ko 

    +
    + + + + +
    Description:Extensions ISAPI au coeur d'Apache pour Windows
    Statut:Base
    IdentificateurdeModule:isapi_module
    FichierSource:mod_isapi.c
    Compatibilit:Win32 only
    +

    Sommaire

    + +

    Ce module implmente l'API des extensions Internet Server + (l'application IIS de Microsoft). Il + permet Apache pour Windows de servir les extensions Internet Server + (par exemple les modules .dll ISAPI), compte tenu des + restrictions spcifies.

    + +

    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 problmes l'excution d'une + extension ISAPI. Merci de ne pas soumettre ce genre + de problme 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 dveloppement 2.3 + du serveur Apache, isapi-isa n'est plus valide, et vous + devrez modifier votre configuration pour utiliser + isapi-handler sa place.
    + +

    Le serveur Apache ne propose aucun moyen de conserver en mmoire + un module charg. Vous pouvez cependant prcharger et garder un + module spcifique en mmoire en utilisant la syntaxe suivante dans + votre httpd.conf :

    +
    +        ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
    +    
    + + +

    Que vous ayez ou non prcharg une extension ISAPI, ces dernires + sont toutes soumises aux mmes restrictions et possdent les mmes + permissions que les scripts CGI. En d'autres termes, Options ExecCGI doit tre + dfini pour le rpertoire qui contient le fichier .dll ISAPI.

    + +

    Reportez-vous aux Notes additionnelles et au + Journal du programmeur pour plus de dtails + et une clarification propos du support spcifique ISAPI fourni par + le module mod_isapi.

    +
    top
    +
    +

    Notes additionnelles

    + +

    L'implmentation ISAPI d'Apache se conforme toutes les + spcifications ISAPI 2.0, l'exception de certaines extensions + "spcifiques Microsoft" utilisant des entres/sorties asynchrones. + Le modle des entres/sorties d'Apache ne permet pas l'criture et + la lecture asynchrone de la manire dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalits non supportes, + comme les entres/sorties asynchrones, un message est enregistr + dans le journal des erreurs afin d'aider au dbogage. Comme ces + messages peuvent devenir envahissants, la directive + ISAPILogNotSupported Off permet de filter ce bruit de + fond.

    + +

    Si aucune option de configuration particulire n'est spcifie, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mmoire jusqu' ce que + l'utilisation de cette dernire devienne trop leve. Apache, en + revanche, charge et dcharge rellement l'extension ISAPI chaque fois + qu'elle est invoque, si la directive ISAPICacheFile n'a pas t spcifie. + Ce n'est pas trs performant, mais le modle de mmoire d'Apache + fait que cette mthode est la plus efficace. De nombreux modules + ISAPI prsentent des incompatibilits subtiles avec le serveur + Apache, et le dchargement 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 qualifie (comme + http://serveur/chemin).
    + +
    HSE_REQ_SEND_URL
    +
    Redirige l'utilisateur vers une autre adresse.
    + Ce ne doit pas tre une URL pleinement qualifie ; la mention du + protocole ou du nom du serveur n'est pas autorise (par exemple, + utilisez simplement /chemin).
    + La redirection n'est pas assure par le navigateur mais par le + serveur lui-mme.
    +

    Avertissement

    +

    Dans sa documentation rcente, 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 spcifiques.

    +
    + +
    HSE_REQ_SEND_RESPONSE_HEADER
    +
    Apache accepte un corps de rponse aprs l'en-tte s'il se + situe aprs la ligne vide (deux caractres newline conscutifs) + dans la chane des arguments d'en-ttes. Ce corps ne doit pas + contenir de caractres NULL, car l'argument des en-ttes est + lui-mme termin par un caractre NULL.
    + +
    HSE_REQ_DONE_WITH_SESSION
    +
    Apache considre ceci comme sans objet, car la session est + ferme 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 paramtre peut intervenir dans un de ces journaux : + + + +

    La premire option, le composant + %{isapi-parameter}n, est prfrable et toujours + disponible.

    +
    + +
    HSE_REQ_IS_KEEP_CONN
    +
    retourne le statut ngoci 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 requte a t abandonne.
    +
    + +

    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 requte + qui dpasse le tampon initial (dfini par la directive ISAPIReadAheadBuffer). En fonction de + la dfinition de la directive + ISAPIReadAheadBuffer (nombre d'octets + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requtes courtes sont envoyes en entier l'extension lorsque + celle-ci est invoque. Si la taille de la requte est trop + importante, l'extension ISAPI doit faire appel + ReadClient pour extraire la totalit du corps de la + requte.

    + +

    WriteClient est support, mais seulement avec le + drapeau HSE_IO_SYNC ou le drapeau "aucune option" + (valeur 0). Toute autre requte + WriteClient sera rejete 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 dfini 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 Apache httpd 2.0+, mod_isapi propose des + fonctionnalits supplmentaires introduites dans les versions + actualises de la spcification ISAPI, ainsi qu'une mulation + limite des entres/sorties asynchrones et la smantique + TransmitFile. Apache httpd supporte galement le prchargement + des .dlls ISAPI des fins de performances.

    +
    +
    top
    +

    ISAPIAppendLogToErrors Directive

    + + + + + + + + +
    Description:Enregistrement des requtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
    Syntaxe:ISAPIAppendLogToErrors on|off
    Dfaut:ISAPIAppendLogToErrors off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_isapi
    +

    Cette directive permet d'enregistrer les requtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans le journal des erreurs.

    + +
    +
    top
    +

    ISAPIAppendLogToQuery Directive

    + + + + + + + + +
    Description:Enregistre les requtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requte
    Syntaxe:ISAPIAppendLogToQuery on|off
    Dfaut:ISAPIAppendLogToQuery on
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_isapi
    +

    Cette directive permet d'enregistrer les requtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans la partie arguments de la requte (ajout au composant + %q de la directive CustomLog).

    + +
    +
    top
    +

    ISAPICacheFile Directive

    + + + + + + +
    Description:Fichiers .dll ISAPI devant tre chargs au +dmarrage
    Syntaxe:ISAPICacheFile chemin-fichier +[chemin-fichier] +...
    Contexte:configuration du serveur, serveur virtuel
    Statut:Base
    Module:mod_isapi
    +

    Cette directive permet de spcifier une liste de noms de fichiers, spars par des + espaces, devant tre chargs au dmarrage + du serveur Apache, et rester en mmoire jusqu' l'arrt du serveur. + Cette directive peut tre rpte pour chaque fichier .dll ISAPI + souhait. Le chemin complet du fichier doit tre spcifi. Si le + chemin n'est pas absolu, il sera considr comme relatif au + rpertoire dfini par la directive ServerRoot.

    + +
    +
    top
    +

    ISAPIFakeAsync Directive

    + + + + + + + + +
    Description:mulation du support des entres/sorties asynchrones pour +les appels ISAPI
    Syntaxe:ISAPIFakeAsync on|off
    Dfaut:ISAPIFakeAsync off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_isapi
    +

    Lorsquelle est dfinie "on", cette directive permet d'muler le + support des entres/sorties asynchrones pour les appels ISAPI.

    + +
    +
    top
    +

    ISAPILogNotSupported Directive

    + + + + + + + + +
    Description:Journalisation des demandes de fonctionnalits non +supportes de la part des extensions ISAPI
    Syntaxe:ISAPILogNotSupported on|off
    Dfaut:ISAPILogNotSupported off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_isapi
    +

    Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalits non supportes de la part des + extensions ISAPI. Ceci peut aider les administrateurs dcortiquer + certains problmes. Lorsqu'elle a t dfinie "on" et si tous les + modules ISAPI fonctionnent, elle peut tre redfinie "off".

    + +
    +
    top
    +

    ISAPIReadAheadBuffer Directive

    + + + + + + + + +
    Description:Taille du tampon de lecture anticipe envoy aux extensions +ISAPI
    Syntaxe:ISAPIReadAheadBuffer taille
    Dfaut:ISAPIReadAheadBuffer 49152
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Base
    Module:mod_isapi
    +

    Cette directive permet de dfinir la taille maximale du tampon de + lecture anticipe envoy aux extensions ISAPI lorsqu'elles sont + initialement invoques. Toute donne restante doit tre extraite en + faisant appel ReadClient ; certaines extensions ISAPI + peuvent ne pas supporter la fonction ReadClient. + Pour plus de dtails, 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 581eea57..1b4c4f25 100644 --- a/docs/manual/mod/mod_isapi.html.ko.euc-kr +++ b/docs/manual/mod/mod_isapi.html.ko.euc-kr @@ -25,6 +25,7 @@

    ġ mod_isapi

    ֽ ƴմϴ. @@ -315,6 +316,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_lbmethod_bybusyness

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Algorithme de planification avec rpartition de charge de +l'attribution des requtes en attente pour le module +mod_proxy_balancer
    Statut:Extension
    IdentificateurdeModule:lbmethod_bybusyness_module
    FichierSource:mod_lbmethod_bybusyness.c
    Compatibilit:Dissoci de mod_proxy_balancer depuis la +version 2.3
    +

    Sommaire

    + +

    Ce module ne fournit pas lui-mme de directive de configuration. Il +ncessite les services de mod_proxy_balancer, et +fournit la mthode de rpartition de charge bybusyness.

    +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Algorithme d'attribution des requtes en attente

    + + + +

    Activ via lbmethod=bybusyness, ce planificateur + surveille le nombre de requtes assignes chaque processus worker + l'instant prsent. Une nouvelle requte est automatiquement + assigne au processus worker auquel est assign le plus petit nombre de + requtes. Ceci s'avre utile dans le cas o les + processus worker mettent en file d'attente les requtes entrantes + indpendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requte est toujours assigne au + processus worker qui sera mme de la servir le plus + rapidement et avec une latence rduite.

    + +

    Si plusieurs processus worker s'avrent les moins chargs, le + choix d'un de ces derniers est effectu partir des statistiques + (et des estimations de charges) qu'utilise la mthode de dcompte + des requtes. Au fil du temps, la distribution des tches finit par + ressembler celle de byrequests (tel qu'implment 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 0cc1f2cf..7a00cef9 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.html +++ b/docs/manual/mod/mod_lbmethod_byrequests.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_byrequests.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_byrequests.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.en b/docs/manual/mod/mod_lbmethod_byrequests.html.en index d10b53c9..008aec30 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.html.en +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.en @@ -24,7 +24,8 @@

    Apache Module mod_lbmethod_byrequests

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -223,7 +224,8 @@ candidate lbstatus -= total factor
    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_lbmethod_byrequests

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Request Counting load balancer scheduler algorithm for mod_proxy_balancer
    Status:Extension
    + + + +
    Description:Algorithme de planification avec rpartition de charge du +traitement des requtes pour le module +mod_proxy_balancer
    Statut:Extension
    IdentificateurdeModule:lbmethod_byrequests_module
    FichierSource:mod_lbmethod_byrequests.c
    Compatibilit:Dissoci de mod_proxy_balancer dans la +version 2.3
    +

    Sommaire

    + +

    Ce module ne fournit pas lui-mme de directive de configuration. Il +ncessite les services de mod_proxy_balancer, et +fournit la mthode de rpartition de charge byrequests.

    +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Algorithme d'attribution des requtes

    + +

    Activ via lbmethod=byrequests, ce planificateur + t conu dans le but de distribuer les requtes tous les + processus worker afin qu'ils traitent tous le nombre de requtes + pour lequel ils ont t configurs. Il fonctionne de la manire + 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 normalise + reprsentant leur part du travail accomplir.

    + +

    lbstatus reprsente combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail.

    + +

    Le worker est un membre du dispositif de rpartition + de charge, en gnral un serveur distant traitant un des protocoles + supports.

    + +

    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 slectionn pour + travailler, et son lbstatus diminu de l'ensemble des quotas de + travail que nous avons distribus tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifie, et nous pouvons + distribuer les requtes selon nos souhaits.

    + +

    Si certains processus workers sont dsactivs, 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 rpartiteur de charge est configur comme suit :

    + + + + + + + + + + + + + + + + +
    workerabcd
    lbfactor25252525
    lbstatus0000
    + +

    Et si b est dsactiv, 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 mme effet que :

    + + + + + + + + + + + +
    workerabcd
    lbfactor1111
    + +

    Ceci est d au fait que toutes les valeurs de lbfactor + sont normalises et values en fonction des autres. Avec :

    + + + + + + + + + +
    workerabc
    lbfactor141
    + +

    le processus b va, en moyenne, se voir assigner 4 fois + plus de requtes que a et c.

    + +

    La configuration suivante, asymtrique, 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)
    + +

    Aprs 10 distributions, la planification se rpte et 7 + a sont slectionns avec 3 b intercals.

    +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 99ff4a6a..74c1f9d1 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.html +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_bytraffic.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_bytraffic.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.en b/docs/manual/mod/mod_lbmethod_bytraffic.html.en index 45076940..881cb123 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.html.en +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.en @@ -24,7 +24,8 @@

    Apache Module mod_lbmethod_bytraffic

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -87,7 +88,8 @@ provides the bytraffic load balancing method..

    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_lbmethod_bytraffic

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
    Status:Extension
    + + + +
    Description:Algorithme de planification avec rpartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer
    Statut:Extension
    IdentificateurdeModule:lbmethod_bytraffic_module
    FichierSource:mod_lbmethod_bytraffic.c
    Compatibilit:Dissoci de mod_proxy_balancer depuis la +version 2.3
    +

    Sommaire

    + +

    Ce module ne fournit pas lui-mme de directive de configuration. Il +ncessite les services de mod_proxy_balancer, et +fournit la mthode de rpartition de charge bytraffic.

    +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Algorithme de rpartition en fonction d'un certain + trafic

    + +

    Activ via lbmethod=bytraffic, l'ide directrice de + ce planificateur est similaire celle de la mthode reposant sur le + nombre de requtes, avec les diffrences suivantes :

    + +

    lbfactor reprsente la quantit de trafic, en + octets, que nous voulons voir traite par le processus. Il + s'agit l aussi d'une valeur normalise reprsentant la part de + travail effectuer par le processus, mais au lieu de se baser sur + un nombre de requtes, on prend en compte la quantit de trafic que + ce processus a trait.

    + +

    Si un rpartiteur 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'entrane pas + ncessairement que b va traiter deux fois plus de + requtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entres/sorties. A cet effet, les tailles de la requte et de sa + rponse assoccie sont prises en compte par l'algorithme de + slection et d'valuation du trafic.

    + +

    Note : les octets en entre sont valus avec la mme pondration + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index bcea1f84..2a97af74 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.html +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_heartbeat.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_heartbeat.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.en b/docs/manual/mod/mod_lbmethod_heartbeat.html.en index 93d83f73..90723f6a 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.html.en +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.en @@ -24,7 +24,8 @@

    Apache Module mod_lbmethod_heartbeat

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -70,7 +71,8 @@ assumption that they are not fully initialized.

    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_lbmethod_heartbeat

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
    Status:Experimental
    + + + +
    Description:Algorithme d'ordonnancement de rpartition de charge pour +mod_proxy_balancer bas sur le comptage de trafic Heartbeat
    Statut:Exprimental
    IdentificateurdeModule:lbmethod_heartbeat_module
    FichierSource:mod_lbmethod_heartbeat.c
    Compatibilit:Disponible depuis la version 2.3 d'Apache
    +

    Sommaire

    + +

    lbmethod=heartbeat utilise les services du module + mod_heartmonitor pour rpartir la charge entre les + serveurs d'origine qui fournissent des donnes heartbeat via le + module mod_heartbeat.

    + +

    Son algorithme de rpartition de charge favorise les serveurs dont la +capacit de traitement moyenne rpartie dans le temps est la plus +importante, mais il ne slectionne pas forcment le serveur qui prsente +la disponibilit instantane la plus importante. Les serveurs qui ne +possdent aucun client actif sont pnaliss, car ils sont considrs +comme non entirement initialiss.

    +
    + + +
    top
    +

    HeartbeatStorage Directive

    + + + + + + + +
    Description:Indique le chemin permettant de lire les donnes +heartbeat
    Syntaxe:HeartbeatStorage chemin-fichier
    Dfaut:HeartbeatStorage logs/hb.dat
    Contexte:configuration du serveur
    Statut:Exprimental
    Module:mod_lbmethod_heartbeat
    +

    La directive HeartbeatStorage permet de + spcifier le chemin d'accs aux donnes 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_ldap.html.en b/docs/manual/mod/mod_ldap.html.en index f08af703..84203976 100644 --- a/docs/manual/mod/mod_ldap.html.en +++ b/docs/manual/mod/mod_ldap.html.en @@ -31,8 +31,7 @@ by other LDAP modules Status:Extension ModuleIdentifier:ldap_module -SourceFile:util_ldap.c -Compatibility:Available in version 2.0.41 and later +SourceFile:util_ldap.c

    Summary

    This module was created to improve the performance of @@ -46,7 +45,7 @@ by other LDAP modules flag to the configure script when building Apache.

    -

    SSL/TLS support is dependant on which LDAP toolkit has been +

    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 @@ -724,7 +723,7 @@ connection client certificates.

    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 independant client certificate + 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 @@ -844,7 +843,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_ldap.html'; } })(window, document); //-->

    + + + + +
    <-
    + +
    +

    Module Apache mod_logio

    +
    +

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

    +
    + + + +
    Description:Journalisation des octets en entre et en sortie pour +chaque requte
    Statut:Extension
    IdentificateurdeModule:logio_module
    FichierSource:mod_logio.c
    +

    Sommaire

    + + +

    Ce module permet d'enregistrer le nombre d'octets reus et + envoys pour chaque requte. Ce nombre reflte le nombre rel + d'octets transmis sur le rseau, et prend en compte les en-ttes et + corps des requtes et des rponses. Le dcompte est effectu avant + SSL/TLS en entre et aprs SSL/TLS en sortie, si bien que le + rsultat refltera 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 + supplment de trafic induit par la ngociation SSL est enregistr + dans le dcompte des octets transmis dans le cadre de la premire + requte de la connexion. Lors d'une rengociation SSL au niveau d'un + rpertoire, le dcompte d'octets est associ la + requte qui a dclench la rengociation.
    + +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Formats de journaux personnaliss

    + + +

    Ce module introduit deux nouvelles directives de journalisation. + Les caractristiques de la requte en elle-mme sont journalises en + insrant des directives "%" dans la chane de format, + qui seront remplaces comme suit dans le fichier journal :

    + + + + + + + +
    Chane de FormatDescription
    %...IOctets reus, en-ttes et corps de requte inclus ; ne peut + pas tre nul.
    %...OOctets envoys, en-ttes inclus ; ne peut + pas tre nul.
    + +

    En gnral, cette fonctionnalit s'utilise comme suit :

    + +
    +
    Format de journal d'entres/sorties combin :
    +
    "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
    +
    +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 45895fa8..c08daabf 100644 --- a/docs/manual/mod/mod_logio.html.ja.utf8 +++ b/docs/manual/mod/mod_logio.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_logio

    翻訳済み言語:  en  | + fr  |  ja  |  ko  |  tr 

    @@ -91,6 +92,7 @@

    翻訳済み言語:  en  | + fr  |  ja  |  ko  |  tr 

    @@ -112,7 +114,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_logio.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Module Apache mod_nw_ssl

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Active le chiffrement SSL pour Netware
    Statut:Base
    IdentificateurdeModule:nwssl_module
    FichierSource:mod_nw_ssl.c
    Compatibilit:NetWare seulement
    +

    Sommaire

    + +

    Ce module active le chiffrement SSL sur un port spcifique. Il + s'appuie sur la fonctionnalit de chiffrement SSL intgre au + systme d'exploitation Netware.

    +
    + + +
    top
    +

    NWSSLTrustedCerts Directive

    + + + + + + +
    Description:Liste de certificats clients supplmentaires
    Syntaxe:NWSSLTrustedCerts nom-fichier +[nom-fichier] ...
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_nw_ssl
    +

    Cette directive permet de spcifier une liste de fichiers (au + format DER) contenant des certificats clients utiliss lors de + l'tablissement d'une connexion SSL mandate. Chaque certificat + client utilis par un serveur doit tre enregistr sparment dans + son propre fichier .der.

    + +
    +
    top
    +

    NWSSLUpgradeable Directive

    + + + + + + +
    Description:Permet de promouvoir une connexion non SSL au statut de +connexion SSL la demande
    Syntaxe:NWSSLUpgradeable [adresse-IP:]num-port
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_nw_ssl
    +

    Cette directive permet de promouvoir une connexion tablie sur + l'adresse IP et/ou le port spcifis au statut de connexion SSL la + demande du client. L'adresse et/ou le port doivent avoir t dfinis + au pralable par une directive Listen.

    + +
    +
    top
    +

    SecureListen Directive

    + + + + + + +
    Description:Active le chiffrement SSL pour le port +spcifi
    Syntaxe:SecureListen [adresse-IP:]num-port +nom-certificat [MUTUAL]
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_nw_ssl
    +

    Cette directive permet de spcifier le port et le nom de + certificat de style eDirectory qui seront utiliss pour activer le + chiffrement SSL. En outre, un troisime paramtre 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 9956b62f..53c08557 100644 --- a/docs/manual/mod/mod_privileges.html +++ b/docs/manual/mod/mod_privileges.html @@ -3,3 +3,7 @@ URI: mod_privileges.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_privileges.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_privileges.html.en b/docs/manual/mod/mod_privileges.html.en index 33641b81..92ee0c43 100644 --- a/docs/manual/mod/mod_privileges.html.en +++ b/docs/manual/mod/mod_privileges.html.en @@ -24,7 +24,8 @@

    Apache Module mod_privileges

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -160,6 +161,7 @@ non-threaded MPMs (prefork + @@ -392,7 +394,8 @@ non-threaded MPMs (prefork
    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_privileges

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Support for Solaris privileges and for running virtual hosts under different user IDs.
    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
    + + + +
    Description:Support des privilges de Solaris et de l'excution des +serveurs virtuels sous diffrents identifiants +utilisateurs.
    Statut:Exprimental
    IdentificateurdeModule:privileges_module
    FichierSource: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'excution de diffrents serveurs virtuels sous +diffrents identifiants Unix User et Group, +et avec diffrents Privilges +Solaris. En particulier, il apporte au problme de +sparation des privilges entre les diffrents serveurs virtuels la +solution que devait apporter le module MPM abandonn perchild. Il +apporte aussi d'autres amliorations en matire de scurit.

    + +

    la diffrence de perchild, mod_privileges n'est +pas un module MPM. Il travaille au sein d'un modle de +traitement pour dfinir les privilges et les User/Group pour chaque +requte dans un mme processus. Il n'est donc pas compatible avec +les MPM threads, et refusera de s'excuter en cas d'utilisation d'un de +ces derniers.

    + +

    mod_privileges traite des problmes de scurit +similaires ceux de suexec ; mais la +diffrence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais l'ensemble du cycle de traitement d'une requte, y compris +les applications in-process et les sous-processus. Il convient +particulirement l'excution des applications PHP sous +mod_php, qui est lui-mme incompatible avec les modules +MPM threads. 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 +sparation des privilges constitue un problme.

    + +
    + +
    top
    +
    +

    Considrations propos de scurit

    + +

    mod_privileges introduit de nouveaux problmes de +scurit dans les situations o du code non sr peut +s'excuter l'intrieur du processus du serveur web. +Ceci s'applique aux modules non srs, et aux scripts s'excutant sous +des modules comme mod_php ou mod_perl. Les scripts s'excutant en +externe (comme par exemple les scripts CGI ou ceux s'excutant sur un +serveur d'applications derrire mod_proxy ou mod_jk) ne sont pas +concerns.

    + +

    Les principaux problmes de scurit que l'on rencontre avec +mod_privileges sont :

    + + +
    • L'excution sous un utilisateur systme pose les mmes problmes +de scurit que mod_suexec, et pratiquement les mmes que cgiwrap et +suphp.
    • +
    • Une extension utilisateur (module ou script) malveillante, crite en connaissant les mcanismes +utiliss par mod_privileges, +pourrait lever ses privilges 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 mcanismes +utiliss par mod_privileges, +pourrait lever ses privilges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +systme.
    • +
    + +

    La directive PrivilegesMode vous permet de +slectionner 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 entirement audit, tout en imposant le +mode SECURE o un utilisateur non sr a la possibilit +d'introduire du code.

    +

    Avant de dcrire les modes, il nous faut prsenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez sparer les utilisateurs pour leur confort, et les +protger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hbergement d'un site commercial - il se peut que des utilisateurs +attaquent dlibrment le serveur ou s'attaquent entre eux.

    +
    +
    Mode FAST
    +
    En mode FAST, les requtes sont traites "in-process" +avec les uid/gid et privilges slectionns, si bien que la +surcharge est ngligeable. Ceci convient aux situations "Benign", mais +n'est pas scuris contre un attaquant augmentant ses privilges avec un +module ou script "in-process".
    +
    Mode SECURE
    +
    Une requte en mode SECURE gnre un sous-processus qui +supprime les privilges. Ce comportement est trs similaire +l'excution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requte, avec en plus l'avantage +d'un contrle prcis des privilges.
    +
    +

    Vous pouvez slectionner diffrents +PrivilegesModes pour chaque serveur virtuel, et +mme dans un contexte de rpertoire l'intrieur d'un serveur virtuel. +Le mode FAST convient lorsque les utilisateurs sont srs +et/ou n'ont pas le privilge de charger du code "in-process". Le mode +SECURE convient dans les cas o du code non sr peut +s'excuter "in-process". Cependant, mme en mode SECURE, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilit d'introduire du code supportant les privilges avant le +dbut du cycle de traitement de la requte.

    + +
    +
    top
    +

    DTracePrivileges Directive

    + + + + + + + + +
    Description:Dtermine si les privilges requis par dtrace sont +activs.
    Syntaxe:DTracePrivileges On|Off
    Dfaut:DTracePrivileges Off
    Contexte:configuration du serveur
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (prefork ou MPM +personnalis).
    +

    Cette directive qui s'applique l'ensemble du serveur permet de + dterminer si Apache s'excutera avec les privilges requis pour excuter dtrace. + Notez que la dfinition DTracePrivileges On n'activera + pas elle-seule DTrace, mais que DTracePrivileges Off + l'empchera de fonctionner.

    + +
    +
    top
    +

    PrivilegesMode Directive

    + + + + + + + + +
    Description:Fait un compromis entre d'une part l'efficacit et la +vitesse de traitement et d'autre part la scurit l'encontre des codes +malicieux supportant les privilges.
    Syntaxe:PrivilegesMode FAST|SECURE|SELECTIVE
    Dfaut:PrivilegesMode FAST
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threads (comme prefork ou un module +personnalis).

    Cette directive permet de faire un compromis entre les +performances et la scurit l'encontre des codes malicieux supportant +les privilges. En mode SECURE, chaque requte est traite +dans un sous-processus scuris, ce qui induit une dgradation sensible +des performances. En mode FAST, le serveur n'est pas protg +contre l'augmentation de privilge comme dcrit plus haut.

    +

    Cette directive est sensiblement diffrente 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 dfinit un comportement par dfaut dont +hriteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requte HTTP, et toute +dfinition de ces modes dans une section <Directory> +sera ignore. 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 dfini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent tre dfinis dans ce contexte (SELECTIVE +n'aurait pas de sens).

    +

    Avertissement

    + Lorsque le mode SELECTIVE a t dfini pour un serveur virtuel, + l'activation des privilges doit tre reporte aprs + la dtermination, par la phase de comparaison du traitement de + la requte, du contexte <Directory> qui + s'applique la requte. Ceci peut donner un attaquant + l'opportunit d'introduire du code via une directive RewriteMap s'excutant au + niveau global ou d'un serveur virtuel avant que les + privilges n'aient t supprims et l'uid/gid dfini. +
    + +
    +
    top
    +

    VHostCGIMode Directive

    + + + + + + + + +
    Description:Dtermine si le serveur virtuel peut excuter des +sous-processus, et dfinit les privilges disponibles pour ces +dernier.
    Syntaxe:VHostCGIMode On|Off|Secure
    Dfaut:VHostCGIMode On
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (prefork ou MPM +personnalis).
    +

    Dtermine si le serveur virtuel est autoris excuter fork et + exec, et dfinit les privilges requis pour excuter des sous-processus. Si cette + directive est dfinie Off le serveur virtuel ne + disposera d'aucun privilge et ne pourra excuter ni des programmes + ou scripts CGI classiques via le module traditionnel + mod_cgi, ni des programmes externes similaires tels + que ceux crs via le module mod_ext_filter ou les + programmes de rcriture externes utiliss par la directive + RewriteMap. Notez que + ceci n'empche pas l'excution de programmes CGI via d'autres + processus et sous d'autres modles de scurit comme mod_fcgid, ce qui est la + solution recommande sous Solaris.

    +

    Si cette directive est dfinie On ou + Secure, le serveur virtuel pourra excuter les scripts et + programmes externes cits ci-dessus. Dfinir la directive + VHostCGIMode Secure a pour effet + supplmentaire de n'accorder aucun privilge aux sous-processus, + comme dcrit dans la directive + VHostSecure.

    + +
    +
    top
    +

    VHostCGIPrivs Directive

    + + + + + + + + +
    Description:Assigne des privilges au choix aux sous-processus crs +par un serveur virtuel.
    Syntaxe:VHostPrivs [+-]?nom-privilge [[+-]?nom-privilge] ...
    Dfaut:Aucun
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (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 privilges au choix aux sous-processus crs par un serveur + virtuel, comme dcrit dans la directive + VHostCGIMode. Chaque + nom-privilge correspond un privilge Solaris tel que + file_setid ou sys_nfs.

    + +

    nom-privilge peut tre ventuellement prfix par + + ou -, ce qui va respectivement accorder ou refuser le privilge. Si + nom-privilge est spcifi sans + ni -, tous les autres + privilges pralablement assigns au serveur virtuel seront refuss. + Cette directive permet de construire aisment votre propre jeu de + privilges en annulant tout rglage par dfaut.

    + +

    Scurit

    +

    L'utilisation de cette directive peut ouvrir d'immenses trous de + scurit dans les sous-processus Apache, jusqu' leur excution avec les + droits de root. Ne l'utilisez que si vous tes absolument sr de + comprendre ce que vous faites !

    + +
    +
    top
    +

    VHostGroup Directive

    + + + + + + + + +
    Description:Dfinit l'identifiant du groupe sous lequel s'excute un +serveur virtuel.
    Syntaxe:VHostGroup identifiant-groupe-unix
    Dfaut:Hrite de l'identifiant du groupe spcifi par la directive +Group
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (prefork ou MPM +personnalis).
    +

    La directive VHostGroup permet de dfinir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requtes par l'intermdiaire d'un serveur virtuel. L'identifiant + du groupe est dfini avant le traitement de la requte, puis + restaur sa valeur de dpart via les Privilges + Solaris. Comme la dfinition + s'applique au processus, cette directive est incompatible + avec les modules MPM threads.

    +

    Unix-group peut tre :

    +
    +
    Un nom de groupe
    +
    Fait rfrence au groupe donn par son nom.
    + +
    # suivi d'un numro de groupe.
    +
    Fait rfrence au groupe donn par son numro.
    +
    + +

    Scurit

    +

    Cette directive ne peut pas tre utilise pour excuter Apache en + tant que root ! Elle est tout de mme susceptible de poser des + problmes de scurit similaires ceux dcrits dans la + documentation de suexec.

    + +

    Voir aussi

    + +
    +
    top
    +

    VHostPrivs Directive

    + + + + + + + + +
    Description:Assigne des privilges un serveur virtuel.
    Syntaxe:VHostPrivs [+-]?nom-privilge [[+-]?nom-privilge] ...
    Dfaut:Aucun
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (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 privilges au choix un serveur virtuel. Chaque + nom-privilge correspond un privilge Solaris tel que + file_setid ou sys_nfs.

    + +

    nom-privilge peut tre ventuellement prfix par + + ou -, ce qui va respectivement accorder ou refuser le privilge. Si + nom-privilge est spcifi sans + ni -, tous les autres + privilges pralablement assigns au serveur virtuel seront refuss. + Cette directive permet de construire aisment votre propre jeu de + privilges en annulant tout rglage par dfaut.

    + +

    Scurit

    +

    L'utilisation de cette directive peut ouvrir d'immenses trous de + scurit dans Apache, jusqu'au traitement de requtes avec les + droits de root. Ne l'utilisez que si vous tes absolument sr de + comprendre ce que vous faites !

    + +
    +
    top
    +

    VHostSecure Directive

    + + + + + + + + +
    Description:Dtermine si le serveur s'excute avec une scurit avance +pour les serveurs virtuels.
    Syntaxe:VHostSecure On|Off
    Dfaut:VHostSecure On
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (prefork ou MPM +personnalis).
    +

    Dtermine si les serveurs virtuels traitent les requtes avec une + scurit avance en supprimant les Privilges rarement requis par un serveur web, mais disponibles + par dfaut pour un utilisateur Unix standard, et donc susceptibles + d'tre demands par des modules et des applications. Il est + recommand de conserver la dfinition par dfaut (On), sauf si elle + empche une application de fonctionner. Comme la dfinition + s'applique au processus, cette directive est incompatible + avec les modules MPM threads.

    +

    Note

    +

    Le fait que la directive VHostSecure + empche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la scurit de l'application doit tre + revue.

    + +
    +
    top
    +

    VHostUser Directive

    + + + + + + + + +
    Description:Dfinit l'identifiant utilisateur sous lequel s'excute un +serveur virtuel.
    Syntaxe:VHostUser identifiant-utilisateur-unix
    Dfaut:Hrite de l'identifiant utilisateur spcifi par la directive +User
    Contexte:serveur virtuel
    Statut:Exprimental
    Module:mod_privileges
    Compatibilit:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threads (prefork ou MPM +personnalis).
    +

    La directive VHostUser permet de dfinir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requtes par l'intermdiaire d'un serveur virtuel. L'identifiant + utilisateur est dfini avant le traitement de la requte, puis + restaur sa valeur de dpart via les Privilges + Solaris. Comme la dfinition + s'applique au processus, cette directive est incompatible + avec les modules MPM threads.

    +

    identifiant-utilisateur-unix peut tre :

    +
    +
    Un nom d'utilisateur
    +
    Fait rfrence l'utilisateur donn par son nom.
    + +
    # suivi d'un numro d'utilisateur.
    +
    Fait rfrence l'utilisateur donn par son numro.
    +
    + +

    Scurit

    +

    Cette directive ne peut pas tre utilise pour excuter Apache en + tant que root ! Elle est tout de mme susceptible de poser des + problmes de scurit similaires ceux dcrits 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en index 36db341d..efb7caca 100644 --- a/docs/manual/mod/mod_proxy.html.en +++ b/docs/manual/mod/mod_proxy.html.en @@ -87,6 +87,7 @@
    • BalancerGrowth
    • BalancerMember
    • +
    • BalancerPersist
    • NoProxy
    • <Proxy>
    • ProxyAddHeaders
    • @@ -509,6 +510,24 @@ ProxyPass /examples http://backend.example.com/examples timeout=10 container directive. It corresponds to the url of a balancer defined in ProxyPass directive.

      + +
      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. + 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

      @@ -705,7 +724,6 @@ response Context:server config, virtual host Status:Extension Module:mod_proxy -Compatibility:Available in Apache HTTP Server 2.0.44 and later

      The ProxyBadHeader directive determines the behaviour of mod_proxy if it receives syntactically invalid @@ -799,7 +817,6 @@ proxied Context:server config, virtual host, directory Status:Extension Module:mod_proxy -Compatibility:Available in version 2.0 and later

      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. @@ -868,8 +885,7 @@ through Context:server config, virtual host Status:Extension Module:mod_proxy -Compatibility:Available in Apache HTTP Server 2.0 and later; - default behaviour changed in 2.2.7/2.3 +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 @@ -1226,6 +1242,13 @@ ProxyPass /mirror/foo http://backend.example.com and url encoded id (like servlet containers) use | to to separate them. The first part is for the cookie the second for the path. + 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. + scolonpathdelim Off If set to On the semi-colon character ';' will be @@ -1277,10 +1300,10 @@ ProxyPass /mirror/foo http://backend.example.com 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 + 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 + BalancerMember ajp://1.2.3.6:8009/ loadfactor=5 </Proxy>

    @@ -1290,10 +1313,10 @@ ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover
     ProxyPass / balancer://hotcluster/ 
     <Proxy balancer://hotcluster>
    -    BalancerMember ajp://1.2.3.4:8009 loadfactor=1
    -    BalancerMember ajp://1.2.3.5:8009 loadfactor=2
    +    BalancerMember ajp://1.2.3.4:8009/ loadfactor=1
    +    BalancerMember ajp://1.2.3.5:8009/ loadfactor=2
         # The server below is on hot standby
    -    BalancerMember ajp://1.2.3.6:8009 status=+H
    +    BalancerMember ajp://1.2.3.6:8009/ status=+H
         ProxySet lbmethod=bytraffic
     </Proxy>
         
    @@ -1558,7 +1581,7 @@ request Context:server config, virtual host, directory Status:Extension Module:mod_proxy -Compatibility:Available in Apache HTTP Server 2.0.31 and later. Usable in directory +Compatibility:Usable in directory context in 2.3.3 and later.

    When enabled, this option will pass the Host: line from the incoming @@ -1709,8 +1732,8 @@ expressions

     <Proxy balancer://hotcluster>
    -    BalancerMember http://www2.example.com:8080 loadfactor=1
    -    BalancerMember http://www3.example.com:8080 loadfactor=2
    +    BalancerMember http://www2.example.com:8080/ loadfactor=1
    +    BalancerMember http://www3.example.com:8080/ loadfactor=2
         ProxySet lbmethod=bytraffic
     </Proxy>
           
    @@ -1784,7 +1807,6 @@ expressions Context:server config, virtual host Status:Extension Module:mod_proxy -Compatibility:Available in Apache HTTP Server 2.0.31 and later

    This directive allows a user to specifiy a timeout on proxy requests. This is useful when you have a slow/buggy appserver which hangs, and you @@ -1849,7 +1871,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy.html'; } })(window, document); //-->

    + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_ajp

    +
    +

    Langues Disponibles:  en  | + fr  | + ja 

    +
    + + + + +
    Description:Module de support AJP pour +mod_proxy
    Statut:Extension
    IdentificateurdeModule:proxy_ajp_module
    FichierSource:mod_proxy_ajp.c
    Compatibilit:Disponible depuis la version 2.1 d'Apache
    +

    Sommaire

    + +

    Ce module ncessite 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 ncessaire de charger les modules + mod_proxy et mod_proxy_ajp.

    + +

    Avertissement

    +

    N'activez pas la fonctionnalit de mandataire avant d'avoir scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre rseau, mais aussi pour l'Internet au sens large.

    +
    +
    + +
    top
    +
    +

    Utilisation

    +

    Ce module permet de mandater en inverse un serveur d'application + d'arrire-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
    +    
    +
    + +

    On peut aussi configurer un rpartiteur de charge :

    +

    Mandataire inverse avec rpartiteur 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 gnral, la directive ProxyPassReverse n'est pas + ncessaire. La requte AJP inclut l'en-tte host original fourni + au mandataire, et le serveur d'application est sens gnrer des + en-ttes auto-rfrenants relatifs cet hte ; aucune rcriture + n'est donc ncessaire.

    + +

    La situation la plus courante dans laquelle la directive ProxyPassReverse est ncessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + diffrente de celle du serveur d'arrire-plan. Dans ce cas, un + en-tte redirect peut tre rcrit relativement l'URL de l'hte + original (et non du serveur d'arrire-plan ajp:// URL) + ; par exemple :

    +

    Rcriture d'un chemin mandat

    +ProxyPass /apps/foo ajp://backend.example.com:8009/foo
    +ProxyPassReverse /apps/foo http://www.example.com/foo
    +    
    +
    +

    Il est cependant prfrable en gnral de dployer l'application + sur le serveur d'arrire-plan avec le mme chemin que sur le + mandataire. +

    +
    top
    +
    +

    Variables d'environnement

    +

    Les variables d'environnement dont le nom possde le prfixe + AJP_ sont transmises au serveur original en tant + qu'attributs de requte AJP (le prfixe 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 prfr, 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 cration de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de rutiliser les connexions + pendant plusieurs cycles requtes/rponse.

    +

    Lorsqu'une connexion a t assigne une requte particulire, + elle ne sera utilise pour aucune autre jusqu' ce que le cycle de + traitement de la requte se soit termin. En d'autres termes, il n'y + a pas de multiplexage des requtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple chaque extrmit de la + connexion, un nombre plus important de connexions tant cependant + ouvertes en mme 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 requte n'est traite sur cette + connexion.
    • +
    • Assigned
      La connexion fait l'objet d'un traitement de + requte.
    • +
    +

    Lorsqu'une connexion est assigne au traitement d'une requte + particulire, les informations de base de cette dernire (comme les + en-ttes HTTP, etc...) sont envoyes sur la connexion sous une forme + trs condense (par exemple les chanes courantes sont codes sous + forme d'entiers). Vous trouverez des dtails sur ce format plus + loin dans la structure des paquets de requte. Si la requte possde + un corps (content-length > 0), il est envoy dans un + paquet spar immdiatement aprs.

    +

    A ce moment, le conteneur est probablement prt traiter la + requte. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :

    +
      +
    • SEND_HEADERS
      Renvoie un jeu d'en-ttes au navigateur.
    • +
    • SEND_BODY_CHUNK
      Renvoie un tronon de corps de requte au + navigateur. +
    • +
    • GET_BODY_CHUNK
      Reoit un autre tronon de donnes de la + requte si elle n'a pas encore t transmise intgralement. Ce type + de transmission est ncessaire car les paquets possdent une taille + maximale fixe, et des quantits quelconques de donnes peuvent tre + contenues dans le corps de la requte (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 + requte.
    • +
    +

    Chaque message est associ un paquet de donnes format + diffremment. Voir plus loin les structures des paquets de rponses + pour plus de dtails.

    +
    top
    +
    +

    Structure de base des paquets

    +

    Ce protocole hrite en partie de XDR, mais il diffre sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).

    +

    Ordre des octets : je ne suis pas sr du type endian des octets + individuels. Je suppose qu'ils sont de type little-endian, car cela + correspond la spcification XDR, et je suppose aussi que la + bibliothque sys/socket fonctionne ainsi automatiquement (du point + de vue du langage C). Il serait souhaitable que quelqu'un possdant + une meilleure connaissance des appels socket puisse prendre le + relai.

    +

    Le protocole comporte quatre types de donnes : octets, boolens, + entiers et chanes de caractres.

    +
    +
    Octet
    Un seul octet.
    +
    Boolen
    +
    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 dbutant par l'octet de poids forts.
    +
    Chane
    +
    Une chane de taille variable (longueur limite 2^16). Elle + est code comme suit : les deux premiers octets reprsentent la + longueur de la chane, les octets suivants constituent la chane + proprement dite (y compris le '\0' final). Notez que la longueur + encode dans les deux premiers octets ne prend pas en compte le + '\0' final, de la mme manire que strlen. Cela peut + prter confusion du point de vue de Java qui est surcharg de + dclarations d'autoincrmentation tranges destines traiter + ces terminateurs. Je suppose que le but dans lequel cela a + t conu ainsi tait de permettre au code C d'tre plus efficace + lors de la lecture de chanes en provenance du conteneur de + servlets -- avec le caractre \0 final, le code C peut transmettre + des rfrences dans un seul tampon, sans avoir effectuer de + copie. En l'absence du caractre \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chane.
    +
    + +

    Taille du paquet

    +

    Selon la majorit du code, la taille maximale du paquet est de + 8 * 1024 bytes (8K). La taille relle du paquet est + encode dans l'en-tte.

    + +

    En-ttes de paquet

    +

    Les paquets envoys par le serveur vers le conteneur commencent + par 0x1234. Les paquets envoys 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) reprsentant la longueur des donnes transmises. + Bien que ceci puisse faire croire que la taille maximale des donnes + est de 2^16, le code dfinit en fait ce maximum 8K.

    + + + + + + + + + + + + + + + + + + + +
    Format du paquet (Serveur->Conteneur)
    Octet01234...(n+3)
    Contenu0x120x34Taille des donnes (n)Data
    + + + + + + + + + + + + + + + + + + + +
    Format du paquet (Conteneur->Serveur)
    Octet01234...(n+3)
    ContenuABTaille des donnes (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 requte envoys du serveur vers le conteneur -- ils + comportent un en-tte standard (0x1234 suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun prfixe.

    +

    Le serveur web peut envoyer les messages suivants au conteneur + de servlets :

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CodeType de paquetSignification
    2Fait suivre la requteDbute le cycle de traitement de la requte avec les donnes + qui suivent.
    7ArrtLe serveur web demande au conteneur de s'arrter.
    8PingLe serveur web demande au conteneur de prendre le contrle + (phase de connexion scurise).
    10CPingLe serveur web demande au conteneur de rpondre rapidement + avec un CPong. +
    noneDonnesTaille (2 octets) et les donnes correspondantes.
    +

    des fins de scurit, le conteneur n'effectuera rellement son + Arrt que si la demande provient de la machine par + laquelle il est hberg.

    +

    Le premier paquet Donnes est envoy immdiatement + aprs le paquet Faire suivre la requte par le serveur + web.

    +

    Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CodeType de paquetSignification
    3Envoi d'un tronon de corpsEnvoi d'un tronon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).
    4Envoie les en-ttesEnvoi des en-ttes de rponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).
    5Fin de la rponseMarque la fin de la rponse (et par consquent du cycle de + traitement de la requte). +
    6Rception du tronon de corps suivantRception de la suite des donnes de la requte si elles + n'ont pas encore t entirement transmises.
    9Rponse CPongLa rponse une requte CPing
    +

    Chacun des messages ci-dessus possde une structure interne + diffrente dont vous trouverez les dtails ci-dessous.

    + +
    top
    +
    +

    Structure des paquets de +requte

    +

    Pour les messages de type Faire suivre la requte 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 possdent la structure suivante + : +

    +req_header_name :=
    +    sc_req_header_name | (string)  [voir ci-dessous pour la manire dont
    +    ceci est interprt]
    +
    +sc_req_header_name := 0xA0xx (integer)
    +
    +req_header_value := (string)
    +
    +

    Les attributes sont optionnels et possdent la + structure suivante :

    +
    +attribute_name := sc_a_name | (sc_a_req_attribute string)
    +
    +attribute_value := (string)
    +
    +    
    +

    Un des en-ttes les plus importants est + content-length, car il indique si le conteneur doit ou + non attendre un autre paquet immdiatement.

    +

    Description dtaille de la requte que le serveur + fait suivre vers le conteneur +

    +

    Prfixe de la requte

    +

    Pour toutes les requtes, ce prfixe est 2. Voir ci-dessus pour + les dtails des autres codes de prfixes.

    + +

    Mthode

    +

    La mthode HTTP, encode 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 mthodes + supplmentaires, mme 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 lments sont triviales. Ils sont tous + obligatoires et seront envoys avec chaque requte.

    + +

    En-ttes

    +

    La structure de request_headers est la suivante + : tout d'abord, le nombre d'en-ttes num_headers est + encod, suivi d'une liste de paires nom d'en-tte + req_header_name / valeur req_header_value. + Les noms d'en-ttes courants sont cods sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tte ne fait partie de la liste + des en-ttes courants, il est encod normalement (une chane de + caractres prfixe par la taille). La liste des en-ttes courants + sc_req_header_name avec leurs codes se prsente 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 reprsent par les + deux premiers octets, et si le premier octet est + '0xA0', il utilise l'entier reprsent par le deuxime + octet comme index d'un tableau de noms d'en-ttes. Si le premier + octet n'est pas 0xA0, l'entier reprsent par les deux + octets est considr comme la longueur d'une chane qui est alors + lue.

    +

    Ceci ne peut fonctionner que si aucun nom d'en-tte ne possde + une taille suprieure 0x9999 (==0xA000 - 1), ce qui + est vraisemblable, bien qu'un peu arbitraire.

    +

    Note:

    + L'en-tte content-length est extrmement important. + S'il est prsent et non nul, le conteneur considre que la requte + possde un corps (une requte POST, par exemple), et lit + immdiatement le paquet suivant dans le flux d'entre pour extraire + ce corps. +
    + +

    Attributs

    +

    Les attributs prfixs par ? (par exemple + ?context) sont tous optionnels. Chacun d'eux est + reprsent par un octet correspondant au type de l'attribut et par + sa valeur (chane ou entier). Ils peuvent tre envoys dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spcial 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 implment + actuellement +
    ?servlet_path0x02-Non implment + 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
    are_done0xFF-request_terminator
    +

    context et servlet_path ne sont pas + dfinis actuellement par le code C, et la majorit du code Java + ignore compltement ce qui est envoy par l'intermdiaire de ces + champs (il va mme parfois s'interrompre si une chane est + envoye aprs un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalit non implmente, ou tout simplement du code + obsolte, mais en tout cas, il n'est pris en charge par aucune des + deux extrmits 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 + utilise pour tablir son identit ( savoir Basic, Digest).

    +

    query_string, ssl_cert, + ssl_cipher et ssl_session contiennent les + lments HTTP et HTTPS correspondants.

    +

    jvm_route est utilis dans le cadre des sessions + persistantes, en associant une session utilisateur une instance + Tomcat particulire en prsence de plusieurs rpartiteurs de + charge.

    +

    Au del de cette liste de base, tout autre attribut + supplmentaire peut tre envoy via le code + req_attribute 0x0A. Une paire de chanes + reprsentant le nom et la valeur de l'attribut est envoye + immdiatement aprs chaque instance de ce code. Les variables + d'environnement sont transmises par cette mthode.

    +

    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 requte

    + +
    top
    +
    +

    Structure du paquet de la +rponse

    +

    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 manire
    +    dont ceci est interprt]
    +
    +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)
    +    
    +

    Dtails:

    +

    Envoi d'un tronon de corps

    +

    Le tronon se compose essentiellement de donnes binaires et est + renvoy directement au navigateur.

    + +

    Envoi des en-ttes

    +

    Les code et message d'tat correspondent aux code et message HTTP + habituels (par exemple 200 et OK). Les + noms d'en-ttes de rponses sont cods de la mme faon que les noms + d'en-ttes de requtes. Voir ci-dessus le codage des en-ttes pour + plus de dtails propos de la manire dont les codes se distinguent + des chanes.
    + Les codes des en-ttes 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-tte est code immdiatement aprs le code ou + la chane du nom d'en-tte.

    + +

    Fin de la rponse

    +

    Signale la fin de ce cycle de traitement de requte. Si le + drapeau reuse est true (==1), cette + connexion TCP peut tre rutilise pour traiter de nouvelles + requtes entrantes. Si reuse est false (toute autre + valeur que 1 dans le vritable code C), la connexion sera + ferme.

    + +

    Rception d'un tronon de corps

    +

    Le conteneur rclame la suite des donnes de la requte (dans le + cas o la taille du corps tait trop importante pour pouvoir tre + contenue dans le premier paquet envoy, o lorsque la requte est + fractionne). Le serveur va alors envoyer un paquet contenant une + quantit de donnes correspondant au minimum de la + request_length, la taille maximale de corps envoye + (8186 (8 Koctets - 6)), et le nombre rel d'octets + restants envoyer pour ce corps de requte.
    + S'il ne reste plus de donnes transmettre pour ce corps de requte + (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 prsentant 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index a3afc0fb..8b35d981 100644 --- a/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_ajp.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_proxy_ajp

    翻訳済み言語:  en  | + fr  |  ja 

    この日本語訳はすでに古くなっている @@ -542,6 +543,7 @@ AJP13_GET_BODY_CHUNK :=

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_balancer

    +
    +

    Langues Disponibles:  en  | + fr  | + ja 

    +
    + + + + +
    Description:Extension de mod_proxy pour le support de +la rpartition de charge
    Statut:Extension
    IdentificateurdeModule:proxy_balancer_module
    FichierSource: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. Il fournit le support de + la rpartition de charge pour les protocoles HTTP, + FTP et AJP13. +

    + +

    L'algorithme de planification de la rpartition de charge est + fourni par des modules tels que + mod_lbmethod_byrequests, + mod_lbmethod_bytraffic, + mod_lbmethod_bybusyness and + mod_lbmethod_heartbeat. +

    + +

    Ainsi, pour mettre en oeuvre la rpartition de charge, + mod_proxy, mod_proxy_balancer et + au moins un des modules fournissant l'algorithme de planification de + la rpartition de charge doivent tre chargs dans le serveur.

    + +

    Avertissement

    +

    N'activez pas la fonctionnalit de mandataire avant d'avoir scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre rseau, mais aussi pour l'Internet au sens large.

    +
    +
    + +
    top
    +
    +

    L'algorithme de planification de la rpartition de + charge

    + +

    A l'heure actuelle, 3 algorithmes de planification de la + rpartition de charge sont disponibles : ils se basent + respectivement sur le comptage des requtes, la mesure du trafic et + le comptage des requtes en attente. Ils sont contrls par la + valeur de lbmethod dans la dfinition du rpartiteur. + Voir la directive ProxyPass pour plus de dtails, et en + particulier la configuration du rpartiteur et de ses membres.

    +
    top
    +
    +

    Rpartition de charge avec abonnement utilisateur + (stickyness)

    + +

    Le rpartiteur supporte l'abonnement utilisateur. Lorsqu'une + requte est mandate vers un serveur d'arrire-plan particulier, + toutes les requtes suivantes du mme utilisateur seront alors + mandates vers le mme serveur d'arrire-plan. De nombreux + rpartiteurs de charge implmentent cette fonctionnalit via une + table qui associe les adresses IP des clients aux serveurs + d'arrire-plan. Cette approche est transparente aux clients et aux + serveurs d'arrire-plan, mais induit certains problmes : + distribution de charge ingale si les clients se trouvent eux-mmes + derrire un mandataire, erreurs d'abonnement lorsqu'un client + possde une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dpassement de la table de + correspondances.

    +

    Le module mod_proxy_balancer implmente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut tre fourni par le serveur d'arrire-plan ou + par le serveur web Apache lui-mme, alors que le codage d'URL est en + gnral effectu par le serveur d'arrire-plan.

    + +
    top
    +
    +

    Exemples de configuration d'un rpartiteur

    + +

    Avant de nous plonger dans les dtails techniques, voici un + exemple d'utilisation de mod_proxy_balancer mettant + en oeuvre la rpartition de charge entre deux serveurs + d'arrire-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 rpartiteur de charge avec + abonnement utilisant mod_headers, + fonctionnant mme si le serveur d'arrire-plan ne dfinit 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 exportes

    + +

    A l'heure actuelle, 6 variables d'environnement sont exportes :

    + +
    + +
    BALANCER_SESSION_STICKY
    +
    +

    Cette variable se voir assigne la valeur de + stickysession pour la requte courante. Il s'agit du + nom du cookie ou du paramtre de requte utilis pour les sessions + avec abonnement.

    +
    + + +
    BALANCER_SESSION_ROUTE
    +
    +

    Cette variable se voit assigne la route interprte + pour la requte courante.

    +
    + + +
    BALANCER_NAME
    +
    +

    Cette variable se voit assign le nom du rpartiteur pour la + requte 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 + rpartition de charge utilis pour la requte courante. Il s'agit + d'une valeur du style http://hostA:1234.

    +
    + + +
    BALANCER_WORKER_ROUTE
    +
    +

    Cette variable se voit assigne la route du membre du + groupe de rpartition de charge qui sera utilis pour la requte + courante.

    +
    + + +
    BALANCER_ROUTE_CHANGED
    +
    +

    Cette variable est dfinie 1 si la route de la session ne + correspond pas celle du membre du groupe de rpartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possde pas encore de route tablie. Elle peut servir + dterminer quand il est ventuellement ncessaire d'envoyer au + client une route mise jour lorsque les sessions persistantes sont + utilises.

    +
    +
    + +
    top
    +
    +

    Activation du support du gestionnaire de rpartiteur

    + +

    Cette fonctionnalit ncessite le chargement du module + mod_status. Le gestionnaire de rpartiteur permet + la mise jour dynamique des membres du groupe de rpartition de + charge. Vous pouvez utiliser le gestionnaire de rpartiteur 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 rpartiteur de charge, + mod_status et mod_proxy_balancer + doivent tre chargs dans le serveur.

    + +

    Pour permettre la gestion du rpartiteur 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 accder au gestionnaire du rpartiteur de + charge en utilisant un navigateur web pour afficher la page + http://nom.de.votre.serveur/balancer-manager. Notez que + pour pouvoir contrler dynamiquement un membre de groupe de + rpartition, ce dernier ne doit pas tre dfini au sein d'une + section <Location ...>.

    +
    top
    +
    +

    Dtails propos de la rpartition de charge par abonnement + (stickyness)

    + +

    Si l'abonnement s'appuie sur un cookie, vous devez dfinir le nom + de ce cookie dont le contenu prcise le serveur d'arrire-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 rpartiteur extrait le contenu du cookie et + recherche un serveur membre dont la route correspond + cette valeur. La route doit aussi tre dfinie dans la directive ProxyPass ou ProxySet. Le cookie peut tre dfini + soit par le serveur d'arrire-plan, soit, comme indiqu dans l'exemple ci-dessus par le serveur web Apache + lui-mme.

    +

    Certains serveurs d'arrire-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement diffrente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat la fin de son + identifiant de session, prcd 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 situe aprs ce point pour + rechercher sa route. Pour que Tomcat puisse connatre son nom + d'instance, vous devez dfinir l'attribut jvmRoute dans + son fichier de configuration conf/server.xml la + valeur de la route du serveur qui se connecte au Tomcat + considr. Le nom du cookie de session utilis par Tomcat (et plus + gnralement par les applications web Java base de servlets) est + JSESSIONID (en majuscules), mais peut tre modifi.

    + +

    La seconde mthode pour implmenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramtre dans l'URL de la + requte. Le nom du paramtre est spcifi par l'attribut + stickysession. Pour trouver un serveur membre, on + recherche un serveur dont la route est gale la valeur + du paramtre. Comme il n'est pas ais d'extraire et de manipuler + tous les liens URL contenus dans les rponses, le travail consistant + ajouter les paramtres chaque lien est gnralement effectu par + le serveur d'arrire-plan qui gnre 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 mthode peut dgrader les + performances.

    + +

    Les standards Java implmentent le codage d'URL de manire + sensiblement diffrente. Ils ajoutent une information de chemin + l'URL en utilisant un point-virgule (;) comme + sparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insrer la valeur de + l'attribut jvmRoute dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez dfinir scolonpathdelim On dans la + directive ProxyPass ou + ProxySet.

    + +

    Enfin, vous pouvez utiliser simultanment les cookies et le codage + d'URL en dfinissant le nom du cookie et le nom du paramtre d'URL + spars 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 paramtre de requte fournissent tous deux une + information de route correcte pour la mme requte, c'est + l'information en provenance du paramtre de requte qui sera + retenue.

    +
    top
    +
    +

    Rsolution des problmes lis la rpartition de charge par + abonnement

    + +

    Si vous tes confront des erreurs d'abonnement, comme la + ncessit pour les utilisateurs de se reconnecter suite une perte + de session d'application, vous devez tout d'abord vrifier si ceci + n'est pas du une indisponibilit sporadique des serveurs + d'arrire-plan ou une erreur de configuration. La prsence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra rvler des problmes de stabilit au niveau des serveurs + d'arrire-plan.

    +

    Pour contrler votre configuration, regardez tout d'abord si + l'abonnement est base de cookie ou de codage d'URL. L'tape + suivante consiste enregistrer certaines donnes dans le journal + des accs en utilisant un format + de journalisation personnalis. Les champs intressants + sont les suivants :

    +
    +
    %{MONCOOKIE}C
    +
    La valeur que contient le cookie de nom MONCOOKIE. + Le nom doit correspondre au nom dfini par l'attribut + stickysession.
    +
    %{Set-Cookie}o
    +
    Ce champ contient tout cookie dfini par le serveur + d'arrire-plan. Vous pouvez ainsi vrifier si le serveur + d'arrire-plan dfinit bien le cookie de session auquel vous vous + attendez, et quelle valeur il est dfini.
    +
    %{BALANCER_SESSION_STICKY}e
    +
    Le nom du cookie ou du paramtre de requte utilis pour la + recherche de l'information de routage.
    +
    %{BALANCER_SESSION_ROUTE}e
    +
    L'information de routage extraite de la requte.
    +
    %{BALANCER_WORKER_ROUTE}e
    +
    La route du serveur choisi.
    +
    %{BALANCER_ROUTE_CHANGED}e
    +
    Contient la valeur 1 si la route extraite de la + requte est diffrente de la route du serveur ; autrement dit, le + traitement de la requte n'a pas pu tre effectu dans le cadre + d'une rpartition de charge par abonnement.
    +
    +

    Les pertes de session sont souvent dues des expirations de + session dont la valeur peut en gnral tre configure au niveau du + serveur d'arrire-plan.

    +

    Si le niveau de journalisation est dfini debug ou + plus, le rpartiteur journalise aussi des informations dtailles + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la rsolution des problmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avrer 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 8b2325ec..0007e028 100644 --- a/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_balancer.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_proxy_balancer

    翻訳済み言語:  en  | + fr  |  ja 

    この日本語訳はすでに古くなっている @@ -317,6 +318,7 @@ candidate lbstatus -= total factor

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_connect

    +
    +

    Langues Disponibles:  en  | + fr  | + ja 

    +
    + + + +
    Description:Extension de mod_proxy pour le traitement +des requtes CONNECT
    Statut:Extension
    IdentificateurdeModule:proxy_connect_module
    FichierSource:mod_proxy_connect.c
    +

    Sommaire

    + +

    Pour fonctionner, ce module ncessite le chargement de + mod_proxy. Il fournit le support de la mthode HTTP + CONNECT. Cette mthode est principalement utilise pour + faire franchir les serveurs mandataires aux requtes SSL l'aide + d'un tunnel.

    + +

    Ainsi, pour pouvoir traiter les requtes CONNECT, + mod_proxy et mod_proxy_connect + doivent tre chargs dans le serveur.

    + +

    CONNECT est aussi utilise lorsque le serveur doit envoyer une + requte 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 ncessaire.

    + +

    Avertissement

    +

    N'activez pas la fonctionnalit de mandataire avant d'avoir scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre rseau, mais aussi pour l'Internet au sens large.

    +
    +
    +

    Directives

    + +

    Sujets

    +

    Voir aussi

    +
    +
    top
    +
    +

    Informations sur les requtes

    +

    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'arrire-plan.
    +
    +
    +
    top
    +

    AllowCONNECT Directive

    + + + + + + + + +
    Description:Ports autoriss se CONNECTer travers le +mandataire
    Syntaxe:AllowCONNECT port[-port] +[port[-port]] ...
    Dfaut:AllowCONNECT 443 563
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_proxy_connect
    Compatibilit:Dplac depuis mod_proxy partir +d'Apache 2.3.5. Plages de ports disponibles depuis Apache 2.3.7.
    +

    La directive AllowCONNECT permet de + spcifier une liste de numros ou de plages de ports auxquels la + mthode de mandataire CONNECT pourra se connecter. Les + navigateurs rcents utilisent cette mthode dans le cas o une + connexion https est requise et o le tunneling + mandataire sur HTTP est en service.

    + +

    Par dfaut, seuls les ports par dfauts https (443) + et snews (563) sont pris en compte. Vous pouvez + utiliser la directive AllowCONNECT pour + outrepasser ces valeurs par dfaut et n'autoriser les connexions que + vers les ports spcifis.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index c9bedf61..bd70d5d4 100644 --- a/docs/manual/mod/mod_proxy_connect.html.ja.utf8 +++ b/docs/manual/mod/mod_proxy_connect.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_proxy_connect

    翻訳済み言語:  en  | + fr  |  ja 

    この日本語訳はすでに古くなっている @@ -82,6 +83,7 @@ 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_express

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + +
    Description:Extension mod_proxy pour le fonctionnement en mandataire +dynamique inverse de masse
    Statut:Extension
    IdentificateurdeModule:proxy_express_module
    FichierSource:mod_proxy_express.c
    +

    Sommaire

    + +

    Ce module cre dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tte Host: de la requte HTTP un nom de + serveur et une URL d'arrire-plan stocks 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 possder autant de fonctionnalits que + mod_proxy_balancer, qui propose aussi la croissance + dynamique, mais il est conu pour grer un nombre beaucoup plus important + de serveurs d'arrire-plan. Il convient parfaitement pour crer un + commutateur HTTP frontal.

    + +

    Pour pouvoir tre utilis, ce module ncessite le chargement de + mod_proxy.

    + +

    Avertissement

    +

    N'activez le mandatement que si vous avez scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux pour votre rseau, et + dans une plus large mesure pour Internet.

    +
    + +

    Limitations

    +
      +
    • Ce module n'est pas conu pour remplacer les fonctionnalits + dynamiques de mod_proxy_balancer. Par contre, il + peut constituer une alternative lgre 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 bases sur les + expressions rationnelles ou les modles. +
    • +
    • Il mule : +

      + ProxyPass / backend.server:port
      + ProxyPassReverse / backend.server:port
      +

      + En d'autres termes, l'URL dans son ensemble est ajoute l'URL + d'arrire-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. +
    • +
    +
    + +
    + + +
    top
    +

    ProxyExpressDBMFile Directive

    + + + + + + + + +
    Description:Chemin du fichier DBM.
    Syntaxe:ProxyExpressDBMFile <chemin>
    Dfaut:None
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_proxy_express
    Compatibilit:Disponible partir de la version 2.3.13 d'Apache
    +

    La directive ProxyExpressDBMFile permet de + dfinir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tte + Host: de la requte entrante avec une URL d'arrire-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
    +

    + +

    Cration du fichier DBM

    + httxt2dbm -i express-map.txt -o emap
    +

    + +

    Configuration

    + ProxyExpressDBMFile emap
    +

    +
    + +
    +
    top
    +

    ProxyExpressDBMType Directive

    + + + + + + + + +
    Description:Type de fichier DBM.
    Syntaxe:ProxyExpressDBMFile <type>
    Dfaut:"default"
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_proxy_express
    Compatibilit:Disponible partir de la version 2.3.13 d'Apache
    +

    La directive ProxyExpressDBMType permet de + dfinir le type de fichier DBM requis par le module. La valeur par + dfaut correspond au type DBM par dfaut du fichier cr par + l'utilitaire httxt2dbm.

    +

    Les valeurs possibles sont (mais toutes ne seront pas disponibles + l'excution) :

    + + + + + + +
    ValueDescription
    dbFichiers Berkeley DB
    gdbmFichiers GDBM
    ndbmFichiers NDBM
    sdbmFichiers SDBM (toujours disponible)
    defaulttype DBM par dfaut
    + + +
    +
    top
    +

    ProxyExpressEnable Directive

    + + + + + + + + +
    Description:Active la fonctionnalit du module.
    Syntaxe:ProxyExpressEnable [on|off]
    Dfaut:off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_proxy_express
    Compatibilit:Disponible partir de la version 2.3.13 d'Apache
    +

    La directive ProxyExpressEnable permet + d'activer/dsactiver 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.html.en b/docs/manual/mod/mod_proxy_fcgi.html.en index 5f02fc30..7ebe956e 100644 --- a/docs/manual/mod/mod_proxy_fcgi.html.en +++ b/docs/manual/mod/mod_proxy_fcgi.html.en @@ -147,7 +147,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.h } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_fdpass

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Module fournissant le support des processus externes fdpass + mod_proxy
    Statut:Extension
    IdentificateurdeModule:proxy_fdpass_module
    FichierSource:mod_proxy_fdpass.c
    Compatibilit:Disponible pour unix depuis la version 2.3 +d'Apache
    +

    Sommaire

    + +

    Pour fonctionner, ce module ncessite 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 requte. +

    + +

    Le module possde une interface de fournisseur + proxy_fdpass_flusher qui permet ventuellement un + autre module d'envoyer les en-ttes de la rponse, ou mme le dbut + du corps de la rponse. Le fournisseur par dfaut flush dsactive la + persistence, et envoie les en-ttes de la rponse, laissant le soin + au processus externe d'envoyer le corps de la rponse.

    + +

    l'heure actuelle, la seule donne transmise au processus + externe est la socket du client. Pour recevoir une socket client, + appelez recvfrom avec une structure struct cmsghdr alloue. Les versions + futures de ce module pourront transmettre d'autres donnes que le + socket client. +

    +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 0cdfe603..928eb93e 100644 --- a/docs/manual/mod/mod_proxy_ftp.html +++ b/docs/manual/mod/mod_proxy_ftp.html @@ -3,3 +3,7 @@ URI: mod_proxy_ftp.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_ftp.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_ftp.html.en b/docs/manual/mod/mod_proxy_ftp.html.en index a5a56015..a49ad5b3 100644 --- a/docs/manual/mod/mod_proxy_ftp.html.en +++ b/docs/manual/mod/mod_proxy_ftp.html.en @@ -24,7 +24,8 @@

    Apache Module mod_proxy_ftp

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -199,7 +200,7 @@ - +
    Description:FTP support module for mod_proxy
    Context:server config, virtual host, directory
    Status:Extension
    Module:mod_proxy_ftp
    Compatibility:Available in Apache xxx and later
    Compatibility:Available in Apache 2.3.3 and later

    The ProxyFtpEscapeWildcards directive controls whether wildcard characters ("*?[{~") in requested @@ -221,7 +222,7 @@ Context:server config, virtual host, directory Status:Extension Module:mod_proxy_ftp -Compatibility:Available in Apache xxx and later +Compatibility:Available in Apache 2.3.3 and later

    The ProxyFtpListOnWildcard directive controls whether wildcard characters ("*?[{~") in requested @@ -233,7 +234,8 @@

    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_ftp

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + +
    Description:Module fournissant le support FTP +mod_proxy
    Statut:Extension
    IdentificateurdeModule:proxy_ftp_module
    FichierSource: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 mthode GET.

    + +

    Ainsi, pour pouvoir traiter les requtes FTP mandates, + mod_proxy, et mod_proxy_ftp + doivent tre chargs dans le serveur.

    + +

    Avertissement

    +

    N'activez pas la fonctionnalit de mandataire avant d'avoir scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre rseau, mais aussi pour l'Internet au sens large.

    +
    +
    + +
    top
    +
    +

    Pourquoi les fichiers du type + xxx ne sont-ils pas tlchargeables par FTP ?

    +

    Ce type particulier de fichier n'est probablement pas dfini en + temps que application/octet-stream dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remdier :

    + +
    application/octet-stream   bin dms lha lzh exe class tgz taz
    +

    Vous pouvez aussi dfinir par dfaut tous les types de fichiers + en tant que fichiers binaires :

    +
    ForceType application/octet-stream
    +
    +
    top
    +
    +

    Comment puis-je forcer le tlchargement + FTP en mode ASCII du fichier xxx ?

    +

    Dans les rares siruations o vous devez tlcharger un fichier + spcifique en utilisant la mthode de transfert FTP + ASCII (alors que le mode transfert par dfaut est + binary), vous pouvez modifier le mode de transfert de + mod_proxy en suffixant la requte avec + ;type=a pour forcer un transfert en mode ASCII (les + listings de rpertoires FTP sont cependant quant eux transmis en + mode ASCII).

    +
    top
    +
    +

    Comment puis-je effectuer un + chargement FTP ?

    +

    Actuellement, seule la mthode GET est supporte pour FTP dans + mod_proxy. Vous pouvez en revanche utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.

    +
    top
    +
    +

    Comment puis-je accder par FTP + des fichiers situs en dehors de mon rpertoire home ?

    +

    Un URI FTP est considr comme relatif au rpertoire home de + l'utilisateur connect. Hlas, vous ne pouvez pas utiliser /../ + pour atteindre des rpertoires de niveau suprieur, car les points + sont interprts par le navigateur et ne sont donc pas vraiment + envoys au serveur FTP. Pour traiter ce problme, une mthode + nomme Squid %2f hack a t implmente dans le + mandataire FTP Apache ; cette solution est aussi utilise par + d'autres serveurs mandataires courants comme le Cache mandataire Squid. En + prfixant par /%2f le chemin de votre requte, vous + pouvez faire en sorte que le mandataire modifie le rpertoire FTP + racine en / (au lieu du rpertoire 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 diffrentes stratgies 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 auprs du serveur + FTP comme suit :

    + +

    + utilisateur : anonymous
    + mot de passe : apache_proxy@ +

    + +

    Ceci fonctionne avec tous les serveurs FTP courants configurs + pour accepter les connexions anonymes.

    + +

    Pour une connexion personnalise avec un nom d'utilisateur + spcifique, vous pouvez intgrer 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 rponse 401 (Autorisation requise), ce qui + fera afficher au navigateur une bote de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tente + nouveau, et si elle russit, la ressource demande est + prsente. L'avantage de cette procdure rside 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 manire n'est pas chiffr + lorsqu'il est envoy. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chane de texte en + clair code en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par consquent rflchir + deux fois avant d'accder votre serveur FTP via HTTP (et d'une + manire gnrale avant d'accder vos fichiers personnels via + FTP !) sur des canaux non scuriss, car des oreilles + indiscrtes pourraient intercepter votre mot de passe au cours + de son transfert.

    +
    +
    top
    +
    +

    Pourquoi reois-je un listing de + fichiers alors que j'ai demand le tlchargement d'un fichier + ?

    +

    Apache examine l'URL de la requte afin de permettre la + navigation dans les rpertoires d'un serveur FTP ainsi que le + tlchargement de fichiers. Si elle ressemble un rpertoire, ou + contient des caractres gnriques ("*?[{~"), alors Apache + considre que c'est un listing qui est demand, et non un + tlchargement.

    +

    Vous pouvez dsactiver le traitement spcial des noms contenant + des caractres gnriques. Voir cet effet la directive + ProxyFtpListOnWildcard. +

    +
    +
    top
    +

    ProxyFtpDirCharset Directive

    + + + + + + + + +
    Description:Dfinit le jeu de caractres des listings FTP +mandats
    Syntaxe:ProxyFtpDirCharset jeu-caractres
    Dfaut:ProxyFtpDirCharset ISO-8859-1
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_proxy_ftp
    Compatibilit:Disponible depuis la version 2.2.7 d'Apache. Dplac +depuis mod_proxy partir de la version 2.3.5 d'Apache
    +

    La directive ProxyFtpDirCharset permet de + dfinir le jeu de caractres utiliser pour les listings FTP en + HTML gnrs par mod_proxy_ftp.

    + +
    +
    top
    +

    ProxyFtpEscapeWildcards Directive

    + + + + + + + + +
    Description:Les caractres gnriques dans les noms de fichiers +doivent-ils tre chapps lorsqu'ils sont envoys au serveur FTP ?
    Syntaxe:ProxyFtpEscapeWildcards [on|off]
    Dfaut:on
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_proxy_ftp
    Compatibilit:Disponible depuis la version 2.3.3 du serveur HTTP Apache
    +

    La directive ProxyFtpEscapeWildcards permet + de dterminer si les caractres gnriques ("*?[{~") que contiennent + les noms de fichiers demands doivent tre chapps pas un slash + invers avant d'tre envoys au serveur FTP. Il s'agit du comportement + par dfaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'chappement, et tentent de servir le + fichier demand sous sa forme littrale, en incluant les slashes + inverss dans son nom.

    +

    Dfinissez cette directive "off" pour permettre le + tlchargement de fichiers dont les noms contiennent des caractres + gnriques depuis des serveurs FTP qui ne connaissent pas + l'chappement des caractres gnriques.

    + +
    +
    top
    +

    ProxyFtpListOnWildcard Directive

    + + + + + + + + +
    Description:Les caractres gnriques dans les noms de fichiers +demands doivent-ils dclencher l'affichage d'un listing ?
    Syntaxe:ProxyFtpListOnWildcard [on|off]
    Dfaut:on
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_proxy_ftp
    Compatibilit:Disponible depuis la version 2.3.3 du serveur HTTP Apache
    +

    La directive ProxyFtpListOnWildcard permet + de dterminer si les caractres gnriques ("*?[{~") que contiennent + les noms de fichiers demands provoquent l'affichage d'un listing de + fichiers par mod_proxy_ftp au lieu de tlcharger un + fichier. Il s'agit de leur comportement par dfaut (valeur on). + Dfinissez cette directive "off" pour permettre le tlchargement de + fichiers mme si leur nom contient des caractres gnriques.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.html.en b/docs/manual/mod/mod_proxy_html.html.en index b7568236..2ffee791 100644 --- a/docs/manual/mod/mod_proxy_html.html.en +++ b/docs/manual/mod/mod_proxy_html.html.en @@ -72,12 +72,13 @@ stylesheets. 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), mod_proxy_html +

    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 [nnnn] as set by this directive.

    +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 a lot of pages containing stylesheets and/or +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. @@ -139,6 +140,7 @@ It will also optionally log other errors at 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 @@ -166,11 +168,14 @@ module for earlier 2.x versions. for earlier 2.x versions

    Specifies one or more attributes to treat as scripting events and -apply ProxyHTMLURLMaps to where appropriate. +apply ProxyHTMLURLMaps to where enabled. You can specify any number of attributes in one or more ProxyHTMLEvents directives.

    -

    The default configuration defines the events in standard HTML 4 -and XHTML 1.

    +

    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
    @@ -179,19 +184,27 @@ and XHTML 1.

    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 +

    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 and embedded scripts or +

    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.

    +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
    @@ -222,6 +235,7 @@ Only use them if you know you have a broken backend server.

    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 @@ -250,8 +264,11 @@ 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.

    -

    The default configuration defines the HTML links for standard HTML 4 -and XHTML 1.

    +

    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.

    top
    @@ -260,6 +277,7 @@ and XHTML 1.

    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 @@ -294,6 +312,7 @@ module for earlier 2.x versions. + @@ -323,7 +342,8 @@ 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.

    +flags supplied and by the ProxyHTMLExtended +directive.

    The optional third argument may define any of the following Flags. Flags are case-sensitive.

    @@ -416,7 +436,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_html.h } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_proxy_scgi

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    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
    + + + +
    Description:Module fournissant le support de la passerelle SCGI +mod_proxy
    Statut:Extension
    IdentificateurdeModule:proxy_scgi_module
    FichierSource: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 chargs dans le serveur.

    + +

    Avertissement

    +

    N'activez pas la fonctionnalit de mandataire avant d'avoir scuris votre serveur. Les + serveurs mandataires ouverts sont dangereux non seulement pour + votre rseau, 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 rpartition de charge ncessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de rpartition de charge, comme + mod_lbmethod_byrequests en plus des modules + dj cits. mod_lbmethod_byrequests est le module + par dfaut et sera utilis dans cet exemple de configuration.

    + +

    Passerelle rpartition 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 + contrler le comportement de mod_proxy, de + nombreuses variables d'environnement permettent de + contrler le fournisseur de protocole SCGI :

    +
    +
    proxy-scgi-pathinfo
    +
    Par dfaut, mod_proxy_scgi ne crera ni + exportera jamais la variable d'environnement + PATH_INFO. Ceci permet au serveur SCGI d'arrire-plan + de dterminer 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 gnre une estimation la plus + prcise possible de PATH_INFO, dfinissez cette + variable d'environnement.
    +
    +
    +
    top
    +

    ProxySCGIInternalRedirect Directive

    + + + + + + + +
    Description:Active ou dsactive les rponses de redirection interne en +provenance du serveur cible.
    Syntaxe:ProxySCGIInternalRedirect On|Off
    Dfaut:ProxySCGIInternalRedirect On
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    Statut:Extension
    Module:mod_proxy_scgi
    +

    La directive ProxySCGIInternalRedirect + permet au serveur cible de rediriger en interne la passerelle vers + une URL diffrente. Cette fonctionnalit trouve son origine dans + mod_cgi qui redirige la rponse en interne si + l'tat de la rponse est OK (200), et si + la rponse contient un en-tte Location dont la valeur + dbute par un slash (/). Cette valeur est interprte + comme une nouvelle URL locale vers laquelle Apache effectue sa + redirection.

    + +

    De ce point de vue, mod_proxy_scgi fait la mme + chose que mod_cgi, mais vous pouvez en plus + dsactiver la fonctionnalit.

    + +

    Exemple

    +    ProxySCGIInternalRedirect Off
    +    
    +
    + +
    +
    top
    +

    ProxySCGISendfile Directive

    + + + + + + + +
    Description:Active l'valuation du pseudo en-tte de rponse +X-Sendfile
    Syntaxe:ProxySCGISendfile On|Off|nom-en-tte
    Dfaut:ProxySCGISendfile Off
    Contexte:configuration du serveur, serveur virtuel, rpertoire
    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'avre bnfique en matire 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.

    +

    L'argument de la directive + ProxySCGISendfile dtermine le comportement + de la passerelle :

    +
    +
    Off
    +
    Aucun traitement particulier n'est effectu.
    + +
    On
    +
    La passerelle recherche un en-tte dans la rponse du serveur + cible nomm X-Sendfile, et interprte sa valeur comme + le nom du fichier servir. L'en-tte est ensuite supprim de la + rponse finale. Cet argument produit le mme effet que + ProxySCGISendfile X-Sendfile.
    + +
    toute autre valeur
    +
    Identique On, mais au lieu de rechercher le nom + d'en-tte cod en dur, c'est la valeur de l'argument qui constitue + le nom de l'en-tte rechercher.
    +
    + +

    Exemple

    +    # Utilise le nom d'en-tte par dfaut (X-Sendfile)
    +    ProxySCGISendfile On
    +
    +    # Utilise un nom d'en-tte diffrent
    +    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 7e6095c6..87ef11a7 100644 --- a/docs/manual/mod/mod_ratelimit.html +++ b/docs/manual/mod/mod_ratelimit.html @@ -3,3 +3,7 @@ URI: mod_ratelimit.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_ratelimit.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_ratelimit.html.en b/docs/manual/mod/mod_ratelimit.html.en index 9c166d8b..c78a8b12 100644 --- a/docs/manual/mod/mod_ratelimit.html.en +++ b/docs/manual/mod/mod_ratelimit.html.en @@ -24,7 +24,8 @@

    Apache Module mod_ratelimit

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -53,7 +54,8 @@ variable rate-limit.

    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_ratelimit

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Bandwidth Rate Limiting for Clients
    Status:Extension
    + + +
    Description:Limitation de la bande passante pour les clients
    Statut:Extension
    IdentificateurdeModule:ratelimit_module
    FichierSource:mod_ratelimit.c
    +

    Sommaire

    + + +

    Ce module fournit un filtre rate_limit pour limiter la +bande passante des clients. La variable d'environnement +rate-limit permet de spcifier, en kb/s, le dbit de la +connexion simuler.

    + +

    Exemple de configuration

    +<Location /downloads>
    +    SetOutputFilter RATE_LIMIT
    +    SetEnv rate-limit 400
    +</Location>
    +
    +
    + +
    +

    Directives

    +

    Ce module ne fournit aucune directive.

    +
    + +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 2d220f67..788294bf 100644 --- a/docs/manual/mod/mod_reflector.html +++ b/docs/manual/mod/mod_reflector.html @@ -3,3 +3,7 @@ URI: mod_reflector.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_reflector.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_reflector.html.en b/docs/manual/mod/mod_reflector.html.en index d9cf60c7..a33ef0b4 100644 --- a/docs/manual/mod/mod_reflector.html.en +++ b/docs/manual/mod/mod_reflector.html.en @@ -24,7 +24,8 @@

    Apache Module mod_reflector

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -95,7 +96,8 @@
    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_reflector

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    +
    Description:Reflect a request body as a response via the output filter stack.
    Status:Base
    + + + +
    Description:Rflchit un corps de requte comme rponse via la pile de +filtres en sortie.
    Statut:Base
    IdentificateurdeModule:reflector_module
    FichierSource:mod_reflector.c
    Compatibilit:Versions 2.3 et ultrieures
    +

    Sommaire

    + +

    Ce module permet de renvoyer un corps de requte au client, aprs + l'avoir fait passer par la pile de filtres en sortie. Une chane de + filtres configure de manire approprie peut tre utilise pour + transformer la requte en rponse. Ce module peut ainsi tre utilis + pour transformer un filtre en sortie en service HTTP.

    +
    +

    Directives

    + +

    Sujets

    +
    +
    top
    +
    +

    Exemples

    +
    +
    Service de compression
    +
    Fait passer le corps de la requte par le filtre DEFLATE pour le + compresser. Cette requte ncessite un en-tte Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les donnes + compresses. +
    +<Location /compress>
    +    SetHandler reflector
    +    SetOutputFilter DEFLATE
    +</Location>
    +    
    + +
    + +
    Service d'abaissement de l'chantillonnage d'image
    +
    Fait passer le corps de la requte par un filtre d'abaissement + de l'chantillonnage d'image, et renvoie le rsultat au client. +
    +<Location /downsample>
    +    SetHandler reflector
    +    SetOutputFilter DOWNSAMPLE
    +</Location>
    +    
    + +
    +
    +
    +
    top
    +

    ReflectorHeader Directive

    + + + + + + + +
    Description:Rflchit un en-tte d'entre dans les en-ttes de sortie
    Syntaxe:ReflectorHeader en-tte-entre [en-tte-sortie]
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Base
    Module:mod_reflector
    +

    Cette directive permet de contrler la rpercution des en-ttes + de la requte dans la rponse. Le premier argument correspond au nom + de l'en-tte copier. Si le second argument (optionnel) est + spcifi, il dfinit le nom sous lequel l'en-tte sera rpercut + dans la rponse ; dans le cas contraire, c'est le nom de l'en-tte + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_remoteip.html.en b/docs/manual/mod/mod_remoteip.html.en index 45808c6c..85185ae5 100644 --- a/docs/manual/mod/mod_remoteip.html.en +++ b/docs/manual/mod/mod_remoteip.html.en @@ -303,7 +303,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_remoteip.htm } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_request

    +
    +

    Langues Disponibles:  en  | + fr  | + tr 

    +
    + + + + +
    Description:Filtres permettant de traiter et de mettre disposition +les corps de requtes HTTP
    Statut:Base
    IdentificateurdeModule:request_module
    FichierSource:mod_request.c
    Compatibilit:Disponible depuis la version 2.3 d'Apache
    +
    +

    Directives

    + +
    + +
    top
    +

    KeptBodySize Directive

    + + + + + + + +
    Description:Conserve le corps de la requte concurrence de la taille +maximale spcifie, pour une utilisation ventuelle par des filtres +comme mod_include.
    Syntaxe:KeptBodySize taille maximale en octets
    Dfaut:KeptBodySize 0
    Contexte:rpertoire
    Statut:Base
    Module:mod_request
    +

    Dans une situation normale, les gestionnaires de requte tels que + le gestionnaire par dfaut des fichiers statiques suppriment le + corps de la requte s'il n'est pas ncessaire au gestionnaire de + requte. Il en rsulte que les filtres comme mod_include sont + limits des requtes GET lors de l'inclusion d'autres + URLs en tant que sous-requtes, et ceci mme si la requte originale + tait une requte POST, car le corps de la requte 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 suprieure + zro, les gestionnaires de requte qui suppriment habituellement les + corps de requte vont alors conserver ces corps de requte, + concurrence de la taille maximale spcifie, pour tre + ventuellement utiliss par des filtres. Dans le cas du filtre + mod_include, une tentative de requte POST pour un + fichier shtml statique se traduira par des sous-requtes + POST, et non par des sous-requtes GET + comme avant.

    + +

    Cette fonctionnalit permet de dcouper des pages web complexes + et des applications web en petits lments individuels, et de + combiner ces lments avec la structure de la page web sous-jacente + en utilisant mod_include. Les lments peuvent se + prsenter 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 requte dont le corps est ainsi + conserv doit tre enregistre temporairement en mmoire vive + jusqu' la fin du traitement de la requte. Il faut donc s'assurer + que la mmoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit tre + limite certaines portions de votre espace d'URL bien prcises qui + le ncessitent, et en spcifiant comme taille maximale une valeur la + plus petite possible, mais tout de mme suffisante pour un corps de + requte.

    + +

    Si la taille de la requte envoye par le client dpasse la taille + maximale autorise 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 2017f2be..6f93f823 100644 --- a/docs/manual/mod/mod_request.html.tr.utf8 +++ b/docs/manual/mod/mod_request.html.tr.utf8 @@ -25,6 +25,7 @@

    Apache Modülü mod_request

    Mevcut Diller:  en  | + fr  |  tr 

    @@ -98,6 +99,7 @@ istek gövdesi iptal edilmek yerine belirtilen azami boyutta tutulur.

    Mevcut Diller:  en  | + fr  |  tr 

    top

    Yorum

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + + +
    <-
    + +
    +

    Module Apache mod_speling

    +
    +

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

    +
    +
    Açıklama:HTTP istek gövdelerini işleme sokup kullanılabilir kılan süzgeçler
    + + +
    Description:Tente de corriger les erreurs de casse dans les URLs ou les +fautes de frappe mineures.
    Statut:Extension
    IdentificateurdeModule:speling_module
    FichierSource:mod_speling.c
    +

    Sommaire

    + + +

    Il arrive que des requtes pour des documents ne puissent pas + tre traites par le serveur Apache de base cause d'une erreur + de frappe ou de casse. Ce module permet de traiter ce + problme en essayant de trouver un document correspondant, mme + lorsque tous les autres modules y ont renonc. Sa mthode de travail + consiste comparer chaque nom de document du rpertoire demand + avec le document de la requte sans tenir compte de la + casse, et en acceptant jusqu' une erreur + (insertion, omission, inversion de caractre ou caractre + erron). Une liste de tous les documents qui correspondent est alors + labore en utilisant cette stratgie.

    + +

    Si aprs le parcours du rpertoire,

    + +
      +
    • aucun document correspondant n'a t trouv, Apache procdera + normalement et renverra une erreur "document non trouv".
    • + +
    • un seul document correspondant pratiquement la requte a + t trouv, celui-ci est renvoy sous la forme d'une rponse de + redirection.
    • + +
    • plusieurs documents pouvant correspondre ont t trouvs, une + liste des documents est envoye au client afin que ce dernier + puisse slectionner le document correct.
    • +
    + +
    + + +
    top
    +

    CheckCaseOnly Directive

    + + + + + + + + +
    Description:Limite l'action du module aux corrections de +majuscules
    Syntaxe:CheckCaseOnly on|off
    Dfaut:CheckCaseOnly Off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Extension
    Module:mod_speling
    +

    Lorsqu'elle est dfinie "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections ne sont pas effectues.

    + + +
    +
    top
    +

    CheckSpelling Directive

    + + + + + + + + +
    Description:Active le module de correction
    Syntaxe:CheckSpelling on|off
    Dfaut:CheckSpelling Off
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Extension
    Module:mod_speling
    +

    Cette directive permet d'activer ou de dsactiver le module de + correction. Lorsqu'il est activ, rappelez-vous que :

    + +
      +
    • le parcours du rpertoire ncessaire la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront tre effectues au mme moment.
    • + +
    • l'arborescence ne doit pas contenir de documents + sensibles qui pourraient tre considrs par erreur comme + correspondant la requte.
    • + +
    • le module ne corrige pas les noms d'utilisateur mal + orthographis (comme dans + http://mon.serveur/~apahce/), mais seulement les noms + de fichiers ou de rpertoires.
    • + +
    • les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requte pour <Location + /status> pour tre traite de manire incorrecte comme + une requte pour le fichier ngoci "/stats.html".
    • +
    + + +

    mod_speling ne doit pas tre activ pour des rpertoires o DAV l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement cres 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 8e55e1b5..654ae7e9 100644 --- a/docs/manual/mod/mod_speling.html.ja.utf8 +++ b/docs/manual/mod/mod_speling.html.ja.utf8 @@ -25,6 +25,7 @@

    Apache モジュール mod_speling

    翻訳済み言語:  en  | + fr  |  ja  |  ko 

    @@ -143,6 +144,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -163,7 +165,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_speling.html } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    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
    IdentificateurdeModule:ssl_module
    FichierSource: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 dtails, discussions et exemples sont fournis dans la documentation SSL.

    +
    +

    Directives

    + +

    Sujets

    +
    +
    top
    +
    +

    Variables d'environnement

    + +

    Ce module peut tre configur pour fournir aux espaces de nommage SSI +et CGI de nombreux lments d'informations concernant SSL par le biais +de variables d'environnement supplmentaires. Par dfaut, et pour +des raisons de performances, ces informations ne sont pas fournies (Voir +la directive SSLOptions StdEnvVars ci-dessous). +Les variables gnres se trouvent dans la table ci-dessous. +Ces informations peuvent galement tre disponible sous des noms diffrents + des fins de compatibilit ascendante. Reportez-vous au chapitre Compatibilit pour plus de dtails +propos des variables de compatibilit.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nom de la variable :Type de valeur :Description :
    HTTPS drapeauHTTPS est utilis.
    SSL_PROTOCOL chaneLa version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)
    SSL_SESSION_ID chaneL'identifiant de session SSL cod en hexadcimal
    SSL_SESSION_RESUMED chaneSession SSL initiale ou reprise. Note : plusieurs requtes peuvent +tre servies dans le cadre de la mme session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilises
    SSL_SECURE_RENEG chanetrue si la rengociation scurise est supporte, +false dans le cas contraire
    SSL_CIPHER chaneLe nom de l'algorithme de chiffrement
    SSL_CIPHER_EXPORT chanetrue si l'algorithme de chiffrement est un algorithme +export
    SSL_CIPHER_USEKEYSIZE nombreNombre de bits de chiffrement (rellement utiliss)
    SSL_CIPHER_ALGKEYSIZE nombreNombre de bits de chiffrement (possible)
    SSL_COMPRESS_METHOD chaneMthode de compression SSL ngocie
    SSL_VERSION_INTERFACE chaneLa version du programme mod_ssl
    SSL_VERSION_LIBRARY chaneLa version du programme OpenSSL
    SSL_CLIENT_M_VERSION chaneLa version du certificat client
    SSL_CLIENT_M_SERIAL chaneLe numro de srie du certificat client
    SSL_CLIENT_S_DN chaneLe DN sujet du certificat client
    SSL_CLIENT_S_DN_x509 chaneElment du DN sujet du client
    SSL_CLIENT_I_DN chaneDN de l'metteur du certificat du client
    SSL_CLIENT_I_DN_x509 chaneElment du DN de l'metteur du certificat du client
    SSL_CLIENT_V_START chaneValidit du certificat du client (date de dbut)
    SSL_CLIENT_V_END chaneValidit du certificat du client (date de fin)
    SSL_CLIENT_V_REMAIN chaneNombre de jours avant expiration du certificat du client
    SSL_CLIENT_A_SIG chaneAlgorithme utilis pour la signature du certificat du client
    SSL_CLIENT_A_KEY chaneAlgorithme utilis pour la cl publique du certificat du client
    SSL_CLIENT_CERT chaneCertificat du client au format PEM
    SSL_CLIENT_CERT_CHAIN_nchane Certificats de la chane de certification du +client au format PEM
    SSL_CLIENT_VERIFY chaneNONE, SUCCESS, GENEROUS ou +FAILED:raison
    SSL_SERVER_M_VERSION chaneLa version du certificat du serveur
    SSL_SERVER_M_SERIAL chane + +The serial of the server certificate
    SSL_SERVER_S_DN chaneDN sujet du certificat du serveur
    SSL_SERVER_S_DN_x509 chaneElment du DN sujet du certificat du serveur
    SSL_SERVER_I_DN chaneDN de l'metteur du certificat du serveur
    SSL_SERVER_I_DN_x509 chaneElment du DN de l'metteur du certificat du serveur
    SSL_SERVER_V_START chaneValidit du certificat du serveur (date de ddut)
    SSL_SERVER_V_END chaneValidit du certificat du serveur (date de fin)
    SSL_SERVER_A_SIG chaneAlgorithme utilis pour la signature du certificat du serveur
    SSL_SERVER_A_KEY chaneAlgorithme utilis pour la cl publique du certificat du serveur
    SSL_SERVER_CERT chaneCertificat du serveur au format PEM
    SSL_SRP_USER chanenom d'utilisateur SRP
    SSL_SRP_USERINFO chaneinformations sur l'utilisateur SRP
    + +

    x509 spcifie un lment de DN X.509 parmi +C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email. A partir de la version +2.1 d'Apache, x509 peut aussi comporter un suffixe numrique +_n. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index dbutant zro et +permettant de slectionner 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 rfrencer chacun d'entre eux. Un nom de variable sans suffixe +_n est quivalent au mme nom avec le suffixe +_0, ce qui correspond au premier attribut (ou au seul) +caractrisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +StdEnvVars de la directive SSLOptions, le premier attribut (ou le +seul) caractrisant le DN est enregistr avec un nom sans suffixe ; +autrement dit, aucune entre possdant comme suffixe _0 +n'est enregistre.

    + +

    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 dtails.

    + +

    SSL_CLIENT_V_REMAIN n'est disponible qu' partir de la +version 2.1.

    + +

    Plusieurs variables d'environnement additionnelles peuvent tre +utilises dans les expressions SSLRequire, ou +dans les formats de journalisation personnaliss :

    + +
    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 spciaux peuvent aussi tre utiliss +:

    + +
    +
    ENV:nom_variable
    +
    Correspond la variable d'environnement standard + nom_variable.
    + +
    HTTP:nom_en-tte
    +
    Correspond la valeur de l'en-tte de requte dont le nom est + nom_en-tte.
    +
    + +
    top
    +
    +

    Formats de journaux +personnaliss

    + +

    Lorsque mod_ssl est compil dans le serveur Apache +ou mme charg (en mode DSO), des fonctions supplmentaires 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 utilise pour prsenter 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 supplmentaire +``%{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"
    +
    +
    +
    top
    +
    +

    Information propos de la requte

    + +

    mod_ssl enregistre des informations propos de la +requte que l'on peut restituer dans les journaux avec la chane de +format %{nom}n via le module +mod_log_config.

    + +

    Les informations enregistres sont les suivantes :

    + +
    +
    ssl-access-forbidden
    +
    Cette information contient la valeur 1 si l'accs 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 rengociation scurise, si SSL est utilis + pour la connexion courante et si le client supporte lui aussi la + rengociation scurise, cette information contiendra la valeur + 1. Si le client ne supporte pas la rengociation + scurise, l'information contiendra la valeur 0. Si + mod_ssl n'a pas t compil avec une version + d'OpenSSL qui supporte la rengociation scurise, ou si SSL n'est pas + utilis pour la connexion courante, le contenu de l'information ne + sera pas dfini.
    +
    + +
    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'accs si une connexion + n'est pas chiffre avec SSL. L'effet est similaire celui de la + directive SSLRequireSSL.

    + + +
    +      Require ssl
    +
    + + + + + +

    Require ssl-verify-client

    + +

    Le fournisseur ssl autorise l'accs 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'accs 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
    +

    SSLCACertificateFile Directive

    + + + + + + +
    Description:Fichier contenant une concatnation des certificats de CA +cods en PEM pour l'authentification des clients
    Syntaxe:SSLCACertificateFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier tout-en-un o vous +pouvez rassembler les certificats des Autorits de Certification (CAs) +pour les clients auxquels vous avez faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concatnation des diffrents fichiers de certificats cods en PEM, par +ordre de prfrence. Cette directive peut tre utilise la place et/ou +en complment de la directive SSLCACertificatePath.

    +

    Exemple

    +SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt
    +
    +
    + +
    +
    top
    +

    SSLCACertificatePath Directive

    + + + + + + +
    Description:Rpertoire des certificats de CA cods en PEM pour +l'authentification des clients
    Syntaxe:SSLCACertificatePath chemin-rpertoire
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le rpertoire o sont stocks les +certificats des Autorits de Certification (CAs) pour les clients +auxquels vous avez faire. On les utilise pour vrifier le certificat +du client au cours de l'authentification de ce dernier.

    +

    +Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce rpertoire +: vous devez aussi crer des liens symboliques nomms +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +

    Exemple

    +SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/
    +
    +
    + +
    +
    top
    +

    SSLCADNRequestFile Directive

    + + + + + + +
    Description:Fichier contenant la concatnation des certificats de CA +cods en PEM pour la dfinition de noms de CA acceptables
    Syntaxe:SSLCADNRequestFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    Lorsque mod_ssl demande un certificat client, une liste de noms +d'Autorits de Certification acceptables est envoye 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 slectionner un certificat +client appropri parmi ceux dont il dispose.

    + +

    Si aucune des directives SSLCADNRequestPath ou SSLCADNRequestFile n'est dfinie, la liste +de noms de CsA acceptables envoye au client est la liste des noms de +tous les certificats de CA spcifis par les directives SSLCACertificateFile et SSLCACertificatePath ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilise pour +vrifier le certificat du client.

    + +

    Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffre de la liste des CAs +effectivement utiliss pour vrifier le certificat du client ; +considrons par exemple le cas o le certificat du client est sign par +des CAs intermdiaires. 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 rpertoire et/ou le fichier dfinis par cette paire de +directives.

    + +

    SSLCADNRequestFile doit +spcifier un fichier tout-en-un contenant une concatnation des +certificats de CA cods en PEM.

    + +

    Exemple

    +SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt
    +
    +
    + +
    +
    top
    +

    SSLCADNRequestPath Directive

    + + + + + + +
    Description:Rpertoire contenant des fichiers de certificats de CA +cods en PEM pour la dfinition de noms de CA acceptables
    Syntaxe:SSLCADNRequestPath chemin-rpertoire
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    + +

    Cette directive optionnelle permet de dfinir la liste de noms de +CAs acceptables qui sera envoye au client lorsqu'un certificat de +client est demand. Voir la directive SSLCADNRequestFile pour plus de +dtails.

    + +

    Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce rpertoire +: vous devez aussi crer des liens symboliques nomms +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +

    Exemple

    +SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/
    +
    +
    + +
    +
    top
    +

    SSLCARevocationCheck Directive

    + + + + + + + +
    Description:Active la vrification des rvocations base sur les CRL
    Syntaxe:SSLCARevocationCheck chain|leaf|none
    Dfaut:SSLCARevocationCheck none
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Active la vrification des rvocations base sur les Listes de +Rvocations de Certificats (CRL). Au moins une des directives SSLCARevocationFile ou SSLCARevocationPath doit tre dfinie. +Lorsque cette directive est dfinie chain (valeur +recommande), les vrifications CRL sont effectues sur tous les +certificats de la chane, alors que la valeur leaf limite +la vrification au certificat hors chane (la feuille). +

    +
    +

    Lorsque la directive est dfinie chain ou +leaf, les CRLs doivent tre disponibles pour que la +validation russisse

    +

    +Avant la version 2.3.15, les vrifications CRL dans mod_ssl +russissaient mme si aucune CRL n'tait trouve dans les chemins +dfinis par les directives SSLCARevocationFile ou SSLCARevocationPath. Le comportement a +chang avec l'introduction de cette directive : lorsque la vrification +est active, les CRLs doivent tre prsentes pour que la +validation russisse ; dans le cas contraire, elle chouera avec une +erreur "CRL introuvable". +

    +
    +

    Exemple

    +SSLCARevocationCheck chain
    +
    +
    + +
    +
    top
    +

    SSLCARevocationFile Directive

    + + + + + + +
    Description:Fichier contenant la concatnation des CRLs des CA cods en +PEM pour l'authentification des clients
    Syntaxe:SSLCARevocationFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier tout-en-un o sont +rassembles les Listes de Rvocation de Certificats (CRLs) des Autorits +de certification (CAs) pour les clients auxquels vous avez faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concatnation des diffrents fichiers de CRLs cods en PEM, +dans l'ordre de prfrence. Cette directive peut tre utilise la +place et/ou en complment de la directive SSLCARevocationPath.

    +

    Exemple

    +SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl
    +
    +
    + +
    +
    top
    +

    SSLCARevocationPath Directive

    + + + + + + +
    Description:Rpertoire des CRLs de CA cods en PEM pour +l'authentification des clients
    Syntaxe:SSLCARevocationPath chemin-rpertoire
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le rpertoire o sont stockes les +Listes de Rvocation de Certificats (CRL) des Autorits de Certification +(CAs) pour les clients auxquels vous avez faire. On les utilise pour +rvoquer les certificats des clients au cours de l'authentification de +ces derniers.

    +

    +Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce rpertoire +: vous devez aussi crer des liens symboliques nomms +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +

    Exemple

    +SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/
    +
    +
    + +
    +
    top
    +

    SSLCertificateChainFile Directive

    + + + + + + +
    Description:Fichier contenant les certificats de CA du serveur cods en +PEM
    Syntaxe:SSLCertificateChainFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier optionnel +tout-en-un o vous pouvez rassembler les certificats des +Autorits de Certification (CA) qui forment la chane de certification +du certificat du serveur. Cette chane dbute par le certificat de la CA +qui a dlivr le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concatnation des diffrents certificats de CA cods en PEM, en gnral +dans l'ordre de la chane de certification.

    +

    Elle doit tre utilise la place et/ou en complment de la +directive SSLCACertificatePath +pour construire explicitement la chane de certification du serveur qui +est envoye au navigateur en plus du certificat du serveur. Elle s'avre +particulirement 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 chane de certification du serveur dans +la directive SSLCACertificatePath produit le mme effet +pour la construction de la chane de certification, cette directive a +pour effet colatral de faire accepter les certificats clients fournis +par cette mme CA, au cours de l'authentification du client.

    +

    +Soyez cependant prudent : fournir la chane de certification ne +fonctionne que si vous utilisez un simple certificat de +serveur RSA ou DSA. Si vous utilisez une paire de certificats +coupls RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment la mme chane 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
    +

    SSLCertificateFile Directive

    + + + + + + +
    Description:Fichier contenant le certificat X.509 du serveur cod en +PEM
    Syntaxe:SSLCertificateFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier contenant le certificat +X.509 du serveur cod en PEM, et par la mme occasion sa cl prive RSA +ou DSA (contenue dans le mme fichier). Si la cl prive est chiffre, +le mot de passe sera demand au dmarrage. Cette directive peut tre +utilise deux fois (pour rfrencer des noms de fichiers diffrents), +lorsque des certificats de serveur RSA et DSA sont utiliss en +parallle.

    +

    Exemple

    +SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
    +
    +
    + +
    +
    top
    +

    SSLCertificateKeyFile Directive

    + + + + + + +
    Description:Fichier contenant la cl prive du serveur code en +PEM
    Syntaxe:SSLCertificateKeyFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier contenant la cl prive du +serveur code en PEM. Si la cl prive n'est pas associe au certificat +dans le fichier dfini par la directive +SSLCertificateFile, utilisez cette directive pour +dfinir le fichier contenant la cl prive seule. Cette directive est +inutile si le fichier dfini par la directive +SSLCertificateFile contient la fois le +certificat et la cl prive. Nous dconseillons cependant fortement +cette pratique et nous recommandons plutt de sparer le certificat de +la cl prive. Si la cl prive est chiffre, le mot de passe sera +demand au dmarrage. Cette directive peut tre +utilise deux fois (pour rfrencer des noms de fichiers diffrents), +lorsque des cls prives RSA et DSA sont utilises en +parallle.

    +

    Exemple

    +SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
    +
    +
    + +
    +
    top
    +

    SSLCipherSuite Directive

    + + + + + + + + +
    Description:Algorithmes de chiffrement disponibles pour la ngociation +au cours de l'initialisation de la connexion SSL
    Syntaxe:SSLCipherSuite algorithmes
    Dfaut:SSLCipherSuite DEFAULT (dpend de la version d'OpenSSL +installe)
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive complexe utilise la chane algorithmes +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. +Notez que cette directive peut tre utilise aussi bien dans un contexte +de serveur que dans un contexte de rpertoire. Dans un contexte de +serveur, elle s'applique l'initialisation SSL standard lorsqu'une +connexion est tablie. Dans un contexte de rpertoire, elle force une +rengociation SSL avec la liste d'algorithmes de chiffrement spcifie +aprs la lecture d'une requte HTTP, mais avant l'envoi de la rponse +HTTP.

    +

    +La liste d'algorithmes de chiffrement SSL spcifie par l'argument +algorithmes comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :

    +
      +
    • Algorithme d'change de cls:
      + 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 or SHA1, SHA256, SHA384. +
    • +
    +

    L'algorithme de chiffrement peut aussi provenir de l'extrieur. Les +algorithmes SSLv2 ne sont plus supports. +Pour dfinir les algorithmes utiliser, on +peut soit spcifier tous les algorithmes la fois, soit utiliser des +alias pour spcifier une liste d'algorithmes dans leur ordre de +prfrence (voir Table 1). Les algorithmes et +alias effectivement disponibles dpendent de la version d'openssl +utilise. Les versions ultrieures d'openssl inclueront probablement des +algorithmes supplmentaires.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Symbole Description
    Algorithme d'change de cls :
    kRSA Echange de cls RSA
    kDHr Echange de cls Diffie-Hellman avec +cl RSA
    kDHd Echange de cls Diffie-Hellman avec +cl DSA
    kEDH Echange de cls Diffie-Hellman +temporaires (pas de certificat)
    kSRP change de cls avec mot de passe +distant scuris (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 condenss 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 limits 40 bits
    EXPORT56 tous les algorithmes de chiffrement +externes limits 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 cls RSA
    DH tous les algorithmes +utilisant l'change de cls Diffie-Hellman
    EDH tous les algorithmes +utilisant l'change de cls Diffie-Hellman temporaires
    ECDH change de cls Elliptic Curve Diffie-Hellman
    ADH tous les algorithmes +utilisant l'change de cls Diffie-Hellman anonymes
    AECDH tous les algorithmes +utilisant l'change de cls Elliptic Curve Diffie-Hellman
    SRP tous les algorithmes utilisant +l'change de cls avec mot de passe distant scuris (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 intressant lorsque tous ces symboles sont combins +ensemble pour spcifier 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 relis par des prfixes pour former la chane algorithmes. +Les prfixes disponibles sont :

    +
      +
    • none: ajoute l'algorithme la liste
    • +
    • +: dplace les algorithmes qui conviennent la +place courante dans la liste
    • +
    • -: supprime l'algorithme de la liste (peut tre rajout +plus tard)
    • +
    • !: supprime dfinitivement l'algorithme de la liste (ne +peut plus y tre rajout plus tard)
    • +
    +

    Pour vous simplifier la vie, vous pouvez utiliser la commande +``openssl ciphers -v'' qui vous fournit un moyen simple de +crer la chane algorithmes avec succs. La chane +algorithmes par dfaut dpend de la version des bibliothques +SSL installes. 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 prsentent un bon compromis entre vitesse +et scurit. Viennent ensuite les algorithmes de scurit leve 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 complte des algorithmes RSA & DH +spcifiques SSL dans la Table 2.

    +

    Exemple

    +SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Symbole algorithme ProtocoleEchange de cls 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
    +

    SSLCompression Directive

    + + + + + + + + +
    Description:Permet d'activer la compression au niveau SSL
    Syntaxe:SSLCompression on|off
    Dfaut:SSLCompression off
    Contexte:configuration du serveur, 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 suprieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou suprieure. La valeur par +dfaut 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 problmes de +scurit dans la plupart des configurations (l'attaque nomme CRIME).

    +
    + +
    +
    top
    +

    SSLCryptoDevice Directive

    + + + + + + + +
    Description:Active l'utilisation d'un acclrateur matriel de +chiffrement
    Syntaxe:SSLCryptoDevice moteur
    Dfaut:SSLCryptoDevice builtin
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet d'activer l'utilisation d'une carte acclratrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif SSL. Cette directive n'est utilisable que si la bote +outils SSL t compile avec le support "engine" ; les versions 0.9.7 +et suprieures d'OpenSSL possdent par dfaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions spares +"-engine".

    + +

    Pour dterminer les moteurs supports, excutez la commande +"openssl engine".

    + +

    Exemple

    +# Pour un acclrateur Broadcom :
    +SSLCryptoDevice ubsec
    +
    +
    + +
    +
    top
    +

    SSLEngine Directive

    + + + + + + + +
    Description:Interrupteur marche/arrt du moteur SSL
    Syntaxe:SSLEngine on|off|optional
    Dfaut:SSLEngine off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet d'activer/dsactiver le moteur du protocole +SSL/TLS. Elle doit tre utilise dans une section <VirtualHost> pour activer +SSL/TLS pour ce serveur virtuel particulier. Par dfaut, le moteur du +protocole SSL/TLS est dsactiv pour le serveur principal et tous les +serveurs virtuels configurs.

    +

    Exemple

    +<VirtualHost _default_:443>
    +SSLEngine on
    +#...
    +</VirtualHost>
    +
    +
    +

    Depuis la version 2.1 d'Apache, la directive +SSLEngine peut tre dfinie +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
    +

    SSLFIPS Directive

    + + + + + + + +
    Description:Coimmutateur du mode SSL FIPS
    Syntaxe:SSLFIPS on|off
    Dfaut:SSLFIPS off
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet d'activer/dsactiver l'utilisation du drapeau +FIPS_mode de la bibliothque SSL. Elle doit tre dfinie 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 oprations de la bibliothque SSL. +

    +

    +Si httpd a t compil avec une bibliothque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive SSLFIPS on chouera. +Reportez-vous au document sur la politique de scurit FIPS 140-2 de la +bibliothque du fournisseur SSL, pour les prrequis spcifiques +ncessaires l'utilisation de mod_ssl selon un mode d'opration +approuv par FIPS 140-2 ; notez que mod_ssl en lui-mme n'est pas +valid, mais peut tre dcrit comme utilisant un module de chiffrement +valid par FIPS 140-2, lorsque tous les composants sont assembls et mis +en oeuvre selon les recommandations de la politique de scurit +applicable. +

    + +
    +
    top
    +

    SSLHonorCipherOrder Directive

    + + + + + + + +
    Description:Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de prfrence
    Syntaxe:SSLHonorCipherOrder flag
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.1 d'Apache, condition +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Normalement, ce sont les prfrences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +ngociation SSLv3 ou TLSv1. Si cette directive est active, ce sont les +prfrences du serveur qui seront prises en compte la place.

    +

    Exemple

    +SSLHonorCipherOrder on
    +
    +
    + +
    +
    top
    +

    SSLInsecureRenegotiation Directive

    + + + + + + + + +
    Description:Option permettant d'activer le support de la rengociation +non scurise
    Syntaxe:SSLInsecureRenegotiation drapeau
    Dfaut:SSLInsecureRenegotiation off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis httpd 2.2.15, si une version 0.9.8m +ou suprieure d'OpenSSL est utilise
    +

    Comme il a t spcifi, toutes les versions des protocoles SSL et +TLS (jusqu' la version 1.2 de TLS incluse) taient vulnrables une +attaque de type Man-in-the-Middle (CVE-2009-3555) +au cours d'une rengociation. Cette vulnrabilit permettait un +attaquant de prfixer la requte HTTP (telle qu'elle tait vue du +serveur) avec un texte choisi. Une extension du protocole a t +dveloppe pour corriger cette vulnrabilit, sous rserve qu'elle soit +supporte par le client et le serveur.

    + +

    Si mod_ssl est li une version 0.9.8m ou +suprieure d'OpenSSL, par dfaut, la rengociation n'est accorde qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est active, la rengociation sera accorde aux anciens +clients (non patchs), quoique de manire non scurise

    + +

    Avertissement propos de la scurit

    +

    Si cette directive est active, les connexions SSL seront vulnrables +aux attaques de type prfixe Man-in-the-Middle comme dcrit dans CVE-2009-3555.

    +
    + +

    Exemple

    +SSLInsecureRenegotiation on
    +
    +
    + +

    La variable d'environnement SSL_SECURE_RENEG peut tre +utilise dans un script SSI ou CGI pour dterminer si la rengociation +scurise est supporte pour une connexion SSL donne.

    + + +
    +
    top
    +

    SSLOCSPDefaultResponder Directive

    + + + + + + + +
    Description:Dfinit l'URI du rpondeur par dfaut pour la validation +OCSP
    Syntaxe:SSLOCSDefaultResponder uri
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, condition +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Cette directive permet de dfinir le rpondeur OCSP par dfaut. Si la +directive SSLOCSPOverrideResponder n'est pas active, +l'URI spcifi ne sera utilis que si aucun URI de rpondeur n'est +spcifi dans le certificat en cours de vrification.

    + +
    +
    top
    +

    SSLOCSPEnable Directive

    + + + + + + + +
    Description:Active la validation OCSP de la chane de certificats du +client
    Syntaxe:SSLOCSPEnable drapeau
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, condition +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Cette directive permet d'activer la validation OCSP de la chane de +certificats du client. Si elle est active, les certificats de la chane +de certificats du client seront valids auprs d'un rpondeur OCSP, une +fois la vrification normale effectue (vrification des CRLs +incluse).

    + +

    Le rpondeur OCSP utilis est soit extrait du certificat lui-mme, +soit spcifi dans la configuration ; voir les directives SSLOCSPDefaultResponder et SSLOCSPOverrideResponder.

    + +

    Exemple

    +SSLVerifyClient on
    +SSLOCSPEnable on
    +SSLOCSPDefaultResponder http://responder.example.com:8888/responder
    +SSLOCSPOverrideResponder on
    +
    +
    + +
    +
    top
    +

    SSLOCSPOverrideResponder Directive

    + + + + + + + +
    Description:Force l'utilisation de l'URI du rpondeur par dfaut pour +la validation OCSP
    Syntaxe:SSLOCSPOverrideResponder drapeau
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, condition +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Force l'utilisation, au cours d'une validation OCSP de certificat, du +rpondeur OCSP par dfaut spcifi dans la configuration, que le +certificat en cours de vrification fasse mention d'un rpondeur OCSP ou +non.

    + +
    +
    top
    +

    SSLOCSPResponderTimeout Directive

    + + + + + + + + +
    Description:Dlai d'attente pour les requtes OCSP
    Syntaxe:SSLOCSPResponderTimeout secondes
    Dfaut:SSLOCSPResponderTimeout 10
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, sous rserve +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Cette option permet de dfinir le dlai d'attente pour les requtes +destination des rpondeurs OCSP, lorsque la directive SSLOCSPEnable est on.

    + +
    +
    top
    +

    SSLOCSPResponseMaxAge Directive

    + + + + + + + + +
    Description:Age maximum autoris pour les rponses OCSP
    Syntaxe:SSLOCSPResponseMaxAge secondes
    Dfaut:SSLOCSPResponseMaxAge -1
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, sous rserve +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Cette option permet de dfinir l'ge maximum autoris (la +"fraicheur") des rponses OCSP. La valeur par dfault (-1) +signifie qu'aucun ge maximum n'est dfini ; autrement dit, les +rponses OCSP sont considres comme valides tant que la valeur de leur +champ nextUpdate se situe dans le futur.

    + +
    +
    top
    +

    SSLOCSPResponseTimeSkew Directive

    + + + + + + + + +
    Description:Drive temporelle maximale autorise pour la validation des +rponses OCSP
    Syntaxe:SSLOCSPResponseTimeSkew secondes
    Dfaut:SSLOCSPResponseTimeSkew 300
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.3 de httpd, sous rserve +d'utiliser une version 0.9.7 ou suprieure d'OpenSSL
    +

    Cette option permet de dfinir la drive temporelle maximale +autorise pour les rponses OCSP (lors de la vrification des champs +thisUpdate et nextUpdate).

    + +
    +
    top
    +

    SSLOptions Directive

    + + + + + + + +
    Description:Configure diffrentes options d'excution du moteur SSL
    Syntaxe:SSLOptions [+|-]option ...
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:Options
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de contrler diffrentes options d'excution du +moteur SSL dans un contexte de rpertoire. Normalement, si plusieurs +SSLOptions peuvent s'appliquer un rpertoire, c'est la +plus spcifique qui est vritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont toutes prcdes par un symbole plus +(+) ou moins (-). Toute option prcde d'un ++ est ajoute aux options actuellement en vigueur, et toute +option prcde d'un - est supprime de ces mmes +options. +

    +

    +Les options disponibles sont :

    +
      +
    • StdEnvVars +

      + Lorsque cette option est active, le jeu standard de variables + d'environnement SSL relatives CGI/SSI est cr. Cette option est + dsactive par dfaut pour des raisons de performances, car + l'extraction des informations constitue une opration assez coteuse + en ressources. On n'active donc en gnral cette option que pour les + requtes CGI et SSI.

      +
    • +
    • ExportCertData +

      + Lorsque cette option est active, des variables d'environnement + CGI/SSI supplmentaires sont cres : SSL_SERVER_CERT, + SSL_CLIENT_CERT et + SSL_CLIENT_CERT_CHAIN_n (avec n = + 0,1,2,..). Elles contiennent les certificats X.509 cods en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + tre utilises par les scripts CGI pour une vrification de + certificat plus labore. De plus, tous les autres certificats de la + chane 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 active, 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 mthodes + d'authentification standard d'Apache peuvent tre utilises pour le + contrle d'accs. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut tre dtermin 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 + entre du fichier des utilisateurs doit comporter ce mot de passe : + ``xxj31ZMTZzkVA'', qui est la version chiffre 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 mme mot : + ``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/''.

      +
    • +
    • StrictRequire +

      + Cette option force l'interdiction d'accs lorsque + SSLRequireSSL ou SSLRequire a dcid que + l'accs devait tre interdit. Par dfaut, dans le cas o + une directive ``Satisfy any'' est utilise, et si + d'autres restrictions d'accs ont t franchies, on passe en gnral + outre l'interdiction d'accs due SSLRequireSSL ou + SSLRequire (parce que c'est ainsi que le mcanisme + Satisfy d'Apache doit fonctionner). Pour des + restrictions d'accs 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'accs si mod_ssl a dcid de + l'interdire.

      +
    • +
    • OptRenegotiate +

      + Cette option active la gestion optimise de la rengociation des + connexions SSL intervenant lorsque les directives SSL sont utilises + dans un contexte de rpertoire. Par dfaut un schma strict est + appliqu, et chaque reconfiguration des paramtres SSL au + niveau du rpertoire implique une phase de rengociation SSL + complte. Avec cette option, mod_ssl essaie d'viter les + changes non ncessaires en effectuant des vrifications de + paramtres plus granulaires (mais tout de mme efficaces). + Nanmoins, ces vrifications 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 rpertoire.

      +
    • +
    • LegacyDNStringFormat +

      + Cette option permet d'agir sur la manire dont les valeurs des + variables SSL_{CLIENT,SERVER}_{I,S}_DN sont formates. + Depuis la version 2.3.11, Apache HTTPD utilise par dfaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + dlimiteurs entre les attributs, permet l'utilisation de caractres + non-ASCII (qui sont alors convertis en UTF8), chappe certains + caractres spciaux avec des slashes inverss, et trie les attributs + en plaant l'attribut "C" en dernire position.

      + +

      Si l'option LegacyDNStringFormat est prsente, c'est + l'ancien format qui sera utilis : les attributs sont tris avec + l'attribut "C" en premire position, les sparateurs sont des + slashes non inverss, les caractres non-ASCII ne sont pas supports + et le support des caractres spciaux n'est pas fiable. +

      +
    • +
    +

    Exemple

    +SSLOptions +FakeBasicAuth -StrictRequire
    +<Files ~ "\.(cgi|shtml)$">
    +    SSLOptions +StdEnvVars -ExportCertData
    +<Files>
    +
    +
    + +
    +
    top
    +

    SSLPassPhraseDialog Directive

    + + + + + + + +
    Description:Mthode utilise pour entrer le mot de passe pour les cls +prives chiffres
    Syntaxe:SSLPassPhraseDialog type
    Dfaut:SSLPassPhraseDialog builtin
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ssl
    +

    +Lors de son dmarrage, Apache doit lire les diffrents fichiers de +certificats (voir la directive SSLCertificateFile) et de cls prives +(voir la directive SSLCertificateKeyFile) des serveurs +virtuels o SSL est activ. Comme, pour des raisons de scurit, les +fichiers de cls prives sont en gnral chiffrs, mod_ssl doit +demander l'administrateur un mot de passe pour dchiffrer ces +fichiers. L'argument type permet de choisir la manire dont +cette demande peut tre formule parmi les trois suivantes :

    +
      +
    • builtin +

      + C'est la mthode par dfaut, et un dialogue interactive de terminal + s'ouvre au cours du dmarrage juste avant qu'Apache ne se dtache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de cl prive chiffr. Etant donn + qu'il peut y avoir un grand nombre de serveurs virtuels configurs + avec SSL activ, le protocole de rutilisation suivant est utilis + pour minimiser le dialogue : lorsqu'un fichier de cl prive est + chiffr, tous les mots de passe connus (au dbut, il n'y en a aucun, + bien entendu) sont essays. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + cl prive particulier. Si aucun ne convient, un autre mot de passe + sera demand partir du terminal et sera mis en mmoire pour le + fichier de cl prive suivant (pour lequel il pourra ventuellement + tre rutilis).

      +

      + Cette mthode confre mod_ssl une grande souplesse (car pour N + fichiers de cl prive chiffrs, vous pouvez utiliser N + mots de passe diffrents - 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 prive 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 prsenter + comme une redirection vers un priphrique d'entre 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 supplmentaire sera crit aprs le + retour du premier mot de passe, et d'autres mots de passe devront + alors tre rcrits.

    • + +
    • exec:/chemin/vers/programme +

      + Ici, un programme externe est appel au dmarrage du serveur pour + chaque fichier de cl prive chiffr. Il est appel avec deux + arguments (le premier est de la forme + ``nom-serveur:port'', le second + est soit ``RSA'', soit ``DSA''), qui + indiquent pour quels serveur et algorithme il doit crire le mot de + passe correspondant sur stdout. Le but recherch est + l'excution de vrifications de scurit pralables permettant de + s'assurer que le systme n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vrifications ont t + effectues avec succs.

      +

      + Ces vrifications de scurit, ainsi que la manire dont le mot de + passe est dtermin peuvent tre aussi sophistiqus que vous le + dsirez. Mod_ssl ne dfinit que l'interface : un programme + excutable qui crit le mot de passe sur stdout. Ni + plus, ni moins ! Ainsi, si vous tes vraiment paranoaque en matire + de scurit, voici votre interface. Tout le reste doit tre confi + l'administrateur titre d'exercice, car les besoins en scurit + locale sont trs diffrents.

      +

      + L'algorithme de rutilisation 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
    +

    SSLProtocol Directive

    + + + + + + + +
    Description:Indique les versions du protocole SSL/TLS +disponibles
    Syntaxe:SSLProtocol [+|-]protocole ...
    Dfaut:SSLProtocol all
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir quelles versions du protocole SSL/TLS +seront acceptes 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 + prdcesseur de TLSv1.

    • + +
    • TLSv1 +

      + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est dfini dans la RFC2246. Il est + support par la plupart des clients.

    • + +
    • TLSv1.1 ( partir de la version 1.0.1 d'OpenSSL) +

      + Une rvision du protocole TLS 1.0 dfinie dans la RFC 4346.

    • + +
    • TLSv1.2 ( partir de la version 1.0.1 d'OpenSSL) +

      + Une rvision du protocole TLS 1.1 dfinie dans la RFC 5246.

    • + +
    • all +

      + C'est un raccourci pour ``+SSLv3 +TLSv1'' ou - partir + de la version 1.0.1 d'OpenSSL - ``+SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2.

    • +
    +

    Exemple

    +SSLProtocol TLSv1
    +
    +
    + +
    +
    top
    +

    SSLProxyCACertificateFile Directive

    + + + + + + +
    Description:Fichier contenant la concatnation des certificats de CA +cods en PEM pour l'authentification des serveurs distants
    Syntaxe:SSLProxyCACertificateFile file-path
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier tout-en-un o sont +stocks les certificats des Autorits 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 concatnation des diffrents fichiers de certificats cods en +PEM, classs par ordre de prfrence. On peut utiliser cette directive +la place et/ou en complment de la directive SSLProxyCACertificatePath.

    +

    Exemple

    +SSLProxyCACertificateFile
    +/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt
    +
    +
    + +
    +
    top
    +

    SSLProxyCACertificatePath Directive

    + + + + + + +
    Description:Rpertoire des certificats de CA cods en PEM pour +l'authentification des serveurs distants
    Syntaxe:SSLProxyCACertificatePath chemin-rpertoire
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de spcifier le rpertoire o sont stocks les +certificats des Autorits de Certification (CAs) pour les serveurs +distants auxquels vous avez faire. On les utilise pour vrifier le +certificat du serveur distant lors de l'authentification de ce +dernier.

    +

    +Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce rpertoire +: vous devez aussi crer des liens symboliques nomms +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +

    Exemple

    +SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/
    +
    +
    + +
    +
    top
    +

    SSLProxyCARevocationCheck Directive

    + + + + + + + +
    Description:Active la vrification des rvocations base sur les CRLs +pour l'authentification du serveur distant
    Syntaxe:SSLProxyCARevocationCheck chain|leaf|none
    Dfaut:SSLProxyCARevocationCheck none
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Active la vrification des rvocations base sur les Listes de +rvocations de Certificats (CRL) pour les serveurs distants +auxquels vous vous connectez. A moins une des directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath doit tre dfinie. +Lorsque cette directive est dfinie chain (valeur +recommande), les vrifications CRL sont effectues sur tous les +certificats de la chane, alors que la valeur leaf limite +la vrification au certificat hors chane (la feuille). +

    +
    +

    Lorsque la directive est dfinie chain ou +leaf, les CRLs doivent tre disponibles pour que la +validation russisse

    +

    +Avant la version 2.3.15, les vrifications CRL dans mod_ssl +russissaient mme si aucune CRL n'tait trouve dans les chemins +dfinis par les directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath. Le comportement a +chang avec l'introduction de cette directive : lorsque la vrification +est active, les CRLs doivent tre prsentes pour que la +validation russisse ; dans le cas contraire, elle chouera avec une +erreur "CRL introuvable". +

    +
    +

    Exemple

    +SSLProxyCARevocationCheck chain
    +
    +
    + +
    +
    top
    +

    SSLProxyCARevocationFile Directive

    + + + + + + +
    Description:Fichier contenant la concatnation des CRLs de CA cods en +PEM pour l'authentification des serveurs distants
    Syntaxe:SSLProxyCARevocationFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier tout-en-un o sont +rassembles les Listes de Rvocation de Certificats (CRLs) des Autorits +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 concatnation des diffrents +fichiers de CRLs cods en PEM, classs par ordre de prfrence. Cette +directive peut tre utilise la place et/ou en complment de la +directive SSLProxyCARevocationPath.

    +

    Exemple

    +SSLProxyCARevocationFile
    +/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl
    +
    +
    + +
    +
    top
    +

    SSLProxyCARevocationPath Directive

    + + + + + + +
    Description:Rpertoire des CRLs de CA cods en PEM pour +l'authentification des serveurs distants
    Syntaxe:SSLProxyCARevocationPath chemin-rpertoire
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le rpertoire o sont stockes les +Listes de Rvocation de Certificats (CRL) des Autorits de Certification +(CAs) pour les serveurs distants auxquels vous avez faire. On les +utilise pour rvoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.

    +

    +Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce rpertoire +: vous devez aussi crer des liens symboliques nomms +valeur-de-hashage.rN, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +

    Exemple

    +SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/
    +
    +
    + +
    +
    top
    +

    SSLProxyCheckPeerCN Directive

    + + + + + + + +
    Description:Configuration de la vrification du champ CN du certificat +du serveur distant +
    Syntaxe:SSLProxyCheckPeerCN on|off
    Dfaut:SSLProxyCheckPeerCN on
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir si le champ CN du certificat +du serveur distant doit tre compar au nom de serveur de l'URL de la +requte. S'ils ne correspondent pas, un +code d'tat 502 (Bad Gateway) est envoy. +

    +

    Exemple

    +SSLProxyCheckPeerCN on
    +
    +
    + +
    +
    top
    +

    SSLProxyCheckPeerExpire Directive

    + + + + + + + +
    Description:Configuration de la vrification de l'expiration du +certificat du serveur distant +
    Syntaxe:SSLProxyCheckPeerExpire on|off
    Dfaut:SSLProxyCheckPeerExpire on
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir si l'expiration du certificat du +serveur distant doit tre vrifie ou non. Si la vrification choue, un +code d'tat 502 (Bad Gateway) est envoy. +

    +

    Exemple

    +SSLProxyCheckPeerExpire on
    +
    +
    + +
    +
    top
    +

    SSLProxyCipherSuite Directive

    + + + + + + + + +
    Description:Algorithmes de chiffrement disponibles pour la ngociation +lors de l'initialisation d'une connexion SSL de mandataire
    Syntaxe:SSLProxyCipherSuite algorithmes
    Dfaut:SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    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
    +

    SSLProxyEngine Directive

    + + + + + + + +
    Description:Interrupteur marche/arrt du moteur de mandataire +SSL
    Syntaxe:SSLProxyEngine on|off
    Dfaut:SSLProxyEngine off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet d'activer/dsactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en gnral +l'intrieur d'une section <VirtualHost> pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +dfaut, le moteur de protocole SSL/TLS est dsactiv pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurs.

    + +

    Notez que la directive SSLProxyEngine ne doit gnralement pas tre +utilise dans le cadre d'un serveur virtuel qui agit en tant que +mandataire direct (via les directives <Proxy> ou +<ProxyRequest>). SSLProxyEngine n'est pas ncessaire pour activer +un serveur mandataire direct pour les requtes SSL/TLS.

    + + +

    Exemple

    +<VirtualHost _default_:443>
    +    SSLProxyEngine on
    +    #...
    +</VirtualHost>
    +
    +
    + +
    +
    top
    +

    SSLProxyMachineCertificateChainFile Directive

    + + + + + + + +
    Description:Fichier de certificats de CA encods PEM concatns permettant au +mandataire de choisir un certificat
    Syntaxe:SSLProxyMachineCertificateChainFile nom-fichier
    Contexte:configuration du serveur
    AllowOverride:Sans objet
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier global o est enregistre +la chane de certification pour tous les certificats clients utiliss. +Elle est ncessaire si le serveur distant prsente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurs. +

    +

    +Ce fichier contient tout simplement la concatnation des diffrents +fichiers de certificats encods PEM. Au dmarrage, chaque certificat +client configur est examin et une chane de certification est +construite. +

    +

    Avertissement en matire de scurit

    +

    Si cette directive est dfinie, tous les certificats contenus dans le +fichier spcifi seront considrs comme tant de confiance, comme s'ils +taient aussi dsigns dans la directive SSLProxyCACertificateFile.

    +
    +

    Exemple

    +SSLProxyMachineCertificateChainFile /usr/local/apache2/conf/ssl.crt/proxyCA.pem
    +
    +
    + +
    +
    top
    +

    SSLProxyMachineCertificateFile Directive

    + + + + + + + +
    Description:Fichier contenant la concatnation des cls et certificats +clients cods en PEM que le mandataire doit utiliser
    Syntaxe:SSLProxyMachineCertificateFile chemin-fichier
    Contexte:configuration du serveur
    AllowOverride:Sans objet
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le fichier tout-en-un o sont stocks +les cls et certificats permettant au serveur mandataire de +s'authentifier auprs des serveurs distants. +

    +

    +Le fichier spcifi est la simple concatnation des diffrents fichiers +de certificats cods en PEM, classs par ordre de prfrence. Cette +directive s'utilise la place ou en complment de la directive +SSLProxyMachineCertificatePath. +

    +
    +

    Actuellement, les cls prives chiffres ne sont pas supportes.

    +
    +

    Exemple

    +SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem
    +
    +
    + +
    +
    top
    +

    SSLProxyMachineCertificatePath Directive

    + + + + + + + +
    Description:Rpertoire des cls et certificats clients cods en PEM que +le mandataire doit utiliser
    Syntaxe:SSLProxyMachineCertificatePath chemin-rpertoire
    Contexte:configuration du serveur
    AllowOverride:Sans objet
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le rpertoire o sont stocks les cls +et certificats permettant au serveur mandataire de s'authentifier auprs +des serveurs distants. +

    +

    Les fichiers de ce rpertoire doivent tre cods en PEM et ils sont +accds via des noms de fichier sous forme de condenss ou hash. Vous +devez donc aussi crer des liens symboliques nomms +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce rpertoire contient les liens symboliques appropris.

    +
    +

    Actuellement, les cls prives chiffres ne sont pas supportes.

    +
    +

    Exemple

    +SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/
    +
    +
    + +
    +
    top
    +

    SSLProxyProtocol Directive

    + + + + + + + + +
    Description:Dfinit les protocoles SSL disponibles pour la fonction de +mandataire
    Syntaxe:SSLProxyProtocol [+|-]protocole ...
    Dfaut:SSLProxyProtocol all
    Contexte:configuration du serveur, serveur virtuel
    AllowOverride:Options
    Statut:Extension
    Module:mod_ssl
    + +

    +Cette directive permet de dfinir 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 spcifis.

    +

    Veuillez vous reporter la directive SSLProtocol pour plus d'informations. +

    + +
    +
    top
    +

    SSLProxyVerify Directive

    + + + + + + + +
    Description:Niveau de vrification du certificat du serveur +distant
    Syntaxe:SSLProxyVerify niveau
    Dfaut:SSLProxyVerify none
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    + +

    Lorsqu'un mandataire est configur pour faire suivre les requtes +vers un serveur SSL distant, cette directive permet de configurer la +vrification 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 prsenter un certificat valide
    • +
    • require: + le serveur distant doit prsenter un certificat valide
    • +
    • optional_no_ca: + le serveur distant peut prsenter un certificat valide
      + mais il n'est pas ncessaire qu'il soit vrifiable (avec succs).
    • +
    +

    En pratique, seuls les niveaux none et +require sont vraiment intressants, car le niveau +optional ne fonctionne pas avec tous les serveurs, et +le niveau optional_no_ca va tout fait l'encontre de +l'ide que l'on peut se faire de l'authentification (mais peut tout de +mme tre utilis pour tablir des pages de test SSL, etc...).

    + +

    Exemple

    +SSLProxyVerify require
    +
    +
    + +
    +
    top
    +

    SSLProxyVerifyDepth Directive

    + + + + + + + + +
    Description:Niveau de profondeur maximum dans les certificats de CA +lors de la vrification du certificat du serveur distant
    Syntaxe:SSLProxyVerifyDepth niveau
    Dfaut:SSLProxyVerifyDepth 1
    Contexte:configuration du serveur, serveur virtuel
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vrification avant de +dcider que le serveur distant ne possde pas de certificat valide.

    +

    +La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermdiaires, c'est dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vrification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signs sont accepts, et la profondeur par +dfaut 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 rfrenc par la directive +SSLProxyCACertificatePath), +etc...

    +

    Exemple

    +SSLProxyVerifyDepth 10
    +
    +
    + +
    +
    top
    +

    SSLRandomSeed Directive

    + + + + + + +
    Description:Source de dclenchement du Gnrateur de Nombres +Pseudo-Alatoires (PRNG)
    Syntaxe:SSLRandomSeed contexte source +[nombre]
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir une ou plusieurs sources de +dclenchement du Gnrateur de Nombres Pseudo-Alatoires (PRNG) dans +OpenSSL au dmarrage 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 utilise qu'au niveau du serveur global car +le PRNG est un service global.

    +

    +Les diffrentes valeurs de source disponibles sont :

    +
      +
    • builtin +

      Cette source de dclenchement intgre est toujours disponible. + Son utilisation consomme un minimum de cycles CPU en cours + d'excution, et son utilisation ne prsente de ce fait aucun + problme. La source utilise pour dclencher le PRNG contient la + date courante, l'identifiant du processus courant et (si disponible) + un extrait de 1Ko alatoirement choisi de la structure d'Apache pour + les changes inter-processus. Ceci prsente un inconvnient car le + caractre alatoire de cette source n'est pas vraiment fort, et au + dmarrage (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 dclenchement + additionnelle, au moins pour le dmarrage.

    • +
    • file:/chemin/vers/source +

      + Cette variante utilise un fichier externe + file:/chemin/vers/source comme source de dclenchement + du PRNG. Lorsque nombre est spcifi, 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 + spcifi, l'ensemble du fichier forme l'entropie (et 0 + est fourni comme premier argument + /chemin/vers/source). Utilisez cette source en + particulier au dmarrage, par exemple avec un fichier de + priphrique /dev/random et/ou + /dev/urandom (qui sont en gnral prsent sur les + plate-formes drives d'Unix modernes comme FreeBSD et Linux).

      +

      Soyez cependant prudent : en gnral, + /dev/random ne fournit que l'entropie dont il dispose + rellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le priphrique 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 prfrable ici + d'utiliser le priphrique /dev/urandom, car il ne se + bloque jamais et fournit vraiment la quantit de donnes demandes. + Comme inconvnient, les donnes reues ne sont pas forcment de la + meilleure qualit.

    • + +
    • exec:/chemin/vers/programme +

      + Cette variante utilise un excutable externe + /chemin/vers/programme comme source de dclenchement du + PRNG. Lorsque nombre est spcifi, seules les + nombre premiers octets de son flux stdout + forment l'entropie. Lorsque nombre n'est pas spcifi, + l'intgralit des donnes produites sur stdout forment + l'entropie. N'utilisez cette variante qu'au dmarrage o une source + de dclenchement fortement alatoire est ncessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire truerand bas sur la + bibliothque 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 + manire trop importante, et en gnral, 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 Dmon + Gnrateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir http://www.lothar.com/tech + /crypto/) pour dclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possde pas de priphrique 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
    +

    SSLRenegBufferSize Directive

    + + + + + + + + +
    Description:Dfinit la taille du tampon de rengociation +SSL
    Syntaxe:SSLRenegBufferSize taille
    Dfaut:SSLRenegBufferSize 131072
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    + +

    Si une rengociation SSL est requise dans un contexte de rpertoire, +par exemple avec l'utilisation de SSLVerifyClient dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mmoire tout corps de requte +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +tre effectue. Cette directive permet de dfinir la quantit de mmoire + allouer pour ce tampon.

    + +

    +Notez que dans de nombreuses configurations, le client qui envoie un +corps de requte n'est pas forcment digne de confiance, et l'on doit +par consquent prendre en considration la possibilit d'une attaque de +type dni de service lorsqu'on modifie la valeur de cette directive. +

    + +

    Exemple

    +SSLRenegBufferSize 262144
    +
    +
    + +
    +
    top
    +

    SSLRequire Directive

    + + + + + + + +
    Description:N'autorise l'accs que lorsqu'une expression boolenne +complexe et arbitraire est vraie
    Syntaxe:SSLRequire expression
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    SSLRequire est obsolte

    +

    SSLRequire est obsolte et doit en gnral tre +remplace par l'expression Require. La syntaxe ap_expr de l'expression Require est +une extension de la syntaxe de SSLRequire, avec les +diffrences suivantes :

    + +

    Avec SSLRequire, les oprateurs de comparaison +<, <=, ... sont strictement quivalents +aux oprateurs lt, le, ... , et fonctionnent +selon une mthode qui compare tout d'abord la longueur des deux chanes, +puis l'ordre alphabtique. Les expressions ap_expr, quant elles, possdent deux jeux +d'oprateurs de comparaison : les oprateurs <, +<=, ... effectuent une comparaison alphabtique de +chanes, alors que les oprateurs -lt, -le, +... effectuent une comparaison d'entiers. Ces derniers possdent aussi +des alias sans tiret initial : lt, le, ... +

    + +
    + +

    Cette directive permet de spcifier une condition gnrale d'accs +qui doit tre entirement satisfaite pour que l'accs soit autoris. +C'est une directive trs puissante, car la condition d'accs spcifie +est une expression boolenne complexe et arbitraire contenant un nombre +quelconque de vrifications quant aux autorisations d'accs.

    +

    +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 dcrite dans Variables d'environnement pourra tre utilise. +Pour funcname, vous trouverez la liste des fonctions +disponibles dans la documentation +ap_expr.

    + +

    expression est interprte et traduite +sous une forme machine interne lors du chargement de la configuration, +puis value lors du traitement de la requte. Dans le contexte des +fichiers .htaccess, expression est interprte et excute +chaque fois que le fichier .htaccess intervient lors du traitement de la +requte.

    +

    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 identifie par +identifiant objet (OID) dans le certificat client. L'expression est +value true si la partie gauche de la chane correspond exactement +la valeur d'une extension identifie par cet OID (Si plusieurs +extensions possdent le mme 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 spcifi soit comme un nom +descriptif reconnu par la bibliothque SSL, tel que +"nsComment", soit comme un OID numrique tel que +"1.2.3.4.5.6".

    • + +
    • Les expressions contenant des types connus de la bibliothque +SSL sont transformes en chanes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothque SSL, mod_ssl va essayer +d'interprter 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 chane sera convertie en UTF-8 si ncessaire, puis +compare avec la partie gauche de l'expression.

    • + +
    +
    + + +

    Voir aussi

    + +
    +
    top
    +

    SSLRequireSSL Directive

    + + + + + + + +
    Description:Interdit l'accs lorsque la requte HTTP n'utilise pas +SSL
    Syntaxe:SSLRequireSSL
    Contexte:rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive interdit l'accs si HTTP sur SSL (c'est dire HTTPS) +n'est pas activ pour la connexion courante. Ceci est trs pratique dans +un serveur virtuel o SSL est activ ou dans un rpertoire pour se +protger des erreurs de configuration qui pourraient donner accs des +ressources protges. Lorsque cette directive est prsente, toutes les +requtes qui n'utilisent pas SSL sont rejetes.

    +

    Exemple

    +SSLRequireSSL
    +
    +
    + +
    +
    top
    +

    SSLSessionCache Directive

    + + + + + + + +
    Description:Type du cache de session SSL global et +inter-processus
    Syntaxe:SSLSessionCache type
    Dfaut:SSLSessionCache none
    Contexte:configuration du serveur
    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 acclre le traitement parallle des requtes. Pour ce +qui est des requtes vers un mme 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 donnes via des requtes parallles (un nombre de quatre +requtes parallles est courant), ces requtes vont tre servies par +plusieurs processus du serveur pr-dclenchs. Ici, un cache +inter-processus permet d'viter des ngociations de session +inutiles.

    +

    +Les quatre types de stockage suivants sont actuellement +supports :

    +
      +
    • none + +

      Cette valeur dsactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manire sensible + et peut poser problme avec certains navigateurs, en particulier si + les certificats clients sont activs. Cette configuration n'est pas + recommande.

    • + +
    • nonenotnull + +

      Cette valeur dsactive 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 bogus + qui en ncessitent un.

    • + +
    • dbm:/chemin/vers/fichier-donnes + +

      Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mmoire des processus + du serveur. Ce cache de session peut tre sujet des problmes de + fiabilit sous forte charge. Pour l'utiliser, le module + mod_socache_dbm doit tre charg.

    • + +
    • shmcb:/chemin/vers/fichier-donnes[(nombre)] + +

      Cette valeur utilise un tampon cyclique hautes performances + (d'une taille d'environ nombre octets) dans un segment de + mmoire partage en RAM (tabli via + /chemin/vers/fichier-donnes, pour synchroniser les + caches OpenSSL locaux en mmoire 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 bibliothques de mise en cache de + sessions distribue sur cache distant "distcache". + L'argument doit spcifier le serveur ou mandataire utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + UNIX:/chemin/vers/socket spcifie une socket de domaine + Unix (en gnral un mandataire de dc_client local) ; + IP:serveur.example.com:9001 spcifie 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 srialiser l'accs au cache +de session afin d'viter toute corruption. Ce mutex peut tre configur +via la directive Mutex.

    + +
    +
    top
    +

    SSLSessionCacheTimeout Directive

    + + + + + + + +
    Description:Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions
    Syntaxe:SSLSessionCacheTimeout secondes
    Dfaut:SSLSessionCacheTimeout 300
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir la dure de vie en secondes des +informations stockes dans le cache de sessions SSL global et +inter-processus et dans le cache OpenSSL interne en mmoire. elle peut +tre dfinie une valeur d'environ 15 des fins de test, mais une +valeur trs suprieure comme 300 en production.

    +

    Exemple

    +SSLSessionCacheTimeout 600
    +
    +
    + +
    +
    top
    +

    SSLSessionTicketKeyFile Directive

    + + + + + + + +
    Description:Cl de chiffrement/dchiffrement permanente pour les +tickets de session TLS
    Syntaxe:SSLSessionTicketKeyFile chemin-fichier
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous rserve que l'on utilise une version 0.9.8h ou suprieure +d'OpenSSL
    +

    Cette directive permet de dfinir une cl secrte pour le chiffrement +et le dchiffrement des tickets de session TLS selon les prconisations +de la RFC 5077. Elle a +t conue l'origine pour les environnements de clusters o les +donnes des sessions TLS doivent tre partages entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est prfrable d'utiliser les cls (alatoires) gnres par mod_ssl au +dmarrage du serveur.

    +

    Le fichier doit contenir 48 octets de donnes alatoires cres de +prfrence par une source haute entropie. Sur un systme de type UNIX, +il est possible de crer le fichier contenant la cl de la manire +suivante :

    + +

    +dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +

    + +

    Ces cls doivent tre renouveles frquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spcifier une limite la dure de vie des tickets.

    + +
    +

    Ce fichier contient des donnes sensibles et doit donc tre protg +par des permissions similaires celles du fichier spcifi par la +directive SSLCertificateKeyFile.

    +
    + +
    +
    top
    +

    SSLSRPUnknownUserSeed Directive

    + + + + + + + +
    Description:Source d'ala pour utilisateur SRP inconnu
    Syntaxe:SSLSRPUnknownUserSeed secret-string
    Contexte:configuration du serveur, 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 suprieure d'OpenSSL est utilise.
    +

    +Cette directive permet de dfinir la source d'ala utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle dfinit une chane secrte. Si +cette directive n'est pas dfinie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +

    +

    Exemple

    +SSLSRPUnknownUserSeed "secret" +

    + +
    +
    top
    +

    SSLSRPVerifierFile Directive

    + + + + + + + +
    Description:Chemin du fichier de vrification SRP
    Syntaxe:SSLSRPVerifierFile file-path
    Contexte:configuration du serveur, 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 suprieure d'OpenSSL est utilise.
    +

    +Cette directive permet d'activer TLS-SRP et de dfinir le chemin du +fichier de vrification OpenSSL SRP (Mot de passe distant scuris) +contenant les noms d'utilisateurs TLS-SRP, les vrificateurs, les +"grains de sel" (salts), ainsi que les paramtres de groupe.

    +

    Exemple

    +SSLSRPVerifierFile "/path/to/file.srpv" +

    +

    +Le fichier de vrification peut tre cr via l'utilitaire en ligne de +commande openssl :

    +

    Cration du fichier de vrification SRP

    +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +

    +

    La valeur affecte au paramtre optionnel -userinfo est +enregistre dans la variable d'environnement +SSL_SRP_USERINFO.

    + + +
    +
    top
    +

    SSLStaplingCache Directive

    + + + + + + + +
    Description:Configures the OCSP stapling cache
    Syntaxe:SSLStaplingCache type
    Contexte:configuration du serveur
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingErrorCacheTimeout Directive

    + + + + + + + + +
    Description:Number of seconds before expiring invalid responses in the OCSP stapling cache
    Syntaxe:SSLStaplingErrorCacheTimeout seconds
    Dfaut:SSLStaplingErrorCacheTimeout 600
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingFakeTryLater Directive

    + + + + + + + + +
    Description:Synthesize "tryLater" responses for failed OCSP stapling queries
    Syntaxe:SSLStaplingFakeTryLater on|off
    Dfaut:SSLStaplingFakeTryLater on
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingForceURL Directive

    + + + + + + + +
    Description:Override the OCSP responder URI specified in the certificate's AIA extension
    Syntaxe:SSLStaplingForceURL uri
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingResponderTimeout Directive

    + + + + + + + + +
    Description:Timeout for OCSP stapling queries
    Syntaxe:SSLStaplingResponderTimeout seconds
    Dfaut:SSLStaplingResponderTimeout 10
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingResponseMaxAge Directive

    + + + + + + + + +
    Description:Maximum allowable age for OCSP stapling responses
    Syntaxe:SSLStaplingResponseMaxAge seconds
    Dfaut:SSLStaplingResponseMaxAge -1
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingResponseTimeSkew Directive

    + + + + + + + + +
    Description:Maximum allowable time skew for OCSP stapling response validation
    Syntaxe:SSLStaplingResponseTimeSkew seconds
    Dfaut:SSLStaplingResponseTimeSkew 300
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingReturnResponderErrors Directive

    + + + + + + + + +
    Description:Pass stapling related OCSP errors on to client
    Syntaxe:SSLStaplingReturnResponderErrors on|off
    Dfaut:SSLStaplingReturnResponderErrors on
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStaplingStandardCacheTimeout Directive

    + + + + + + + + +
    Description:Number of seconds before expiring responses in the OCSP stapling cache
    Syntaxe:SSLStaplingStandardCacheTimeout seconds
    Dfaut:SSLStaplingStandardCacheTimeout 3600
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLStrictSNIVHostCheck Directive

    + + + + + + + + +
    Description:Contrle de l'accs des clients non-SNI un serveur virtuel +base de nom. +
    Syntaxe:SSLStrictSNIVHostCheck on|off
    Dfaut:SSLStrictSNIVHostCheck off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Disponible depuis la version 2.2.12 d'Apache
    +

    +Cette directive permet de contrler l'accs des clients non-SNI un serveur +virtuel base de nom. Si elle est dfinie on dans le +serveur virtuel base de nom par dfaut, les +clients non-SNI ne seront autoriss accder aucun serveur virtuel +appartenant cette combinaison IP/port. Par +contre, si elle est dfinie on dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accs 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
    +

    SSLUserName Directive

    + + + + + + + +
    Description:Nom de la variable servant dterminer le nom de +l'utilisateur
    Syntaxe:SSLUserName nom-var
    Contexte:configuration du serveur, rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette variable permet de dfinir le champ "user" de l'objet de la +requte Apache. Ce champ est utilis par des modules de plus bas niveau +pour identifier l'utilisateur avec une chane de caractres. En +particulier, l'utilisation de cette directive peut provoquer la +dfinition 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 utilise (voir SSLOptions).

    + +

    Exemple

    +SSLUserName SSL_CLIENT_S_DN_CN
    +
    +
    + +
    +
    top
    +

    SSLUseStapling Directive

    + + + + + + + + +
    Description:Enable stapling of OCSP responses in the TLS handshake
    Syntaxe:SSLUseStapling on|off
    Dfaut:SSLUseStapling off
    Contexte:configuration du serveur, serveur virtuel
    Statut:Extension
    Module:mod_ssl
    Compatibilit:Available in httpd 2.3.3 and later, if using OpenSSL 0.9.8h or later

    La documentation de cette directive + n'a pas encore t traduite. Veuillez vous reporter la version + en langue anglaise.

    +
    top
    +

    SSLVerifyClient Directive

    + + + + + + + + +
    Description:Niveau de vrification du certificat client
    Syntaxe:SSLVerifyClient niveau
    Dfaut:SSLVerifyClient none
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de dfinir le niveau de vrification du +certificat pour l'authentification du client. Notez que cette directive +peut tre utilise la fois dans les contextes du serveur principal et +du rpertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilis au cours de la +ngociation SSL standard lors de l'tablissement d'une connexion. Dans +un contexte de rpertoire, elle force une rengociation SSL avec le +niveau de vrification du client spcifi, aprs la lecture d'une +requte HTTP, mais avant l'envoi de la rponse HTTP.

    +

    +Les valeurs de niveau disponibles sont les suivantes :

    +
      +
    • none: + aucun certificat client n'est requis
    • +
    • optional: + le client peut prsenter un certificat valide
    • +
    • require: + le client doit prsenter un certificat valide
    • +
    • optional_no_ca: + le client peut prsenter un certificat valide, mais il n'est pas + ncessaire que ce dernier soit vrifiable (avec succs).
    • +
    +

    En pratique, seuls les niveaux none et +require sont vraiment intressants, car le niveau +optional ne fonctionne pas avec tous les navigateurs, +et le niveau optional_no_ca va vraiment l'encontre de +l'ide que l'on peut se faire de l'authentification (mais peut tout de +mme tre utilis pour tablir des pages de test SSL, etc...)

    +

    Exemple

    +SSLVerifyClient require
    +
    +
    + +
    +
    top
    +

    SSLVerifyDepth Directive

    + + + + + + + + +
    Description:Profondeur maximale des certificats de CA pour la +vrification des certificats clients
    Syntaxe:SSLVerifyDepth nombre
    Dfaut:SSLVerifyDepth 1
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    AllowOverride:AuthConfig
    Statut:Extension
    Module:mod_ssl
    +

    +Cette directive permet de spcifier la profondeur maximale laquelle +mod_ssl va effectuer sa vrification avant de dcider que le client ne +possde pas de certificat valide. Notez que cette directive peut tre +utilise la fois dans les contextes du serveur principal et de +rpertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilis au cours de la +ngociation SSL standard lors de l'tablissement d'une connexion. Dans +un contexte de rpertoire, elle force une rengociation SSL avec le +client selon la nouvelle profondeur spcifie, aprs la lecture d'une +requte HTTP, mais avant l'envoi de la rponse HTTP.

    +

    +La profondeur correspond au nombre maximum de fournisseurs de +certificats intermdiaires, c'est dire le nombre maximum de +certificats de CA que l'on est autoris suivre lors de la vrification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signs sont accepts ; la profondeur par dfaut +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 rfrenc 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_status.html.en b/docs/manual/mod/mod_status.html.en index 3da16777..54e67abb 100644 --- a/docs/manual/mod/mod_status.html.en +++ b/docs/manual/mod/mod_status.html.en @@ -193,7 +193,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_status.html' } })(window, document); //--> + + + + +
    <-
    + +
    +

    Module Apache mod_substitute

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Effectue des oprations de recherche/remplacement sur les +corps de rponses
    Statut:Extension
    IdentificateurdeModule:substitute_module
    FichierSource:mod_substitute.c
    Compatibilit:Disponible depuis la version 2.2.7 +du serveur HTTP Apache
    +

    Sommaire

    + +

    mod_substitute fournit un mcanisme permettant + d'effectuer des substitutions de chanes fixes ou d'expressions + rationnelles sur les corps de rponses.

    +
    +

    Directives

    + +
    + +
    top
    +

    Substitute Directive

    + + + + + + + +
    Description:Modle de substition dans le contenu de la +rponse
    Syntaxe:Substitute s/modle/substitution/[infq]
    Contexte:rpertoire, .htaccess
    AllowOverride:FileInfo
    Statut:Extension
    Module:mod_substitute
    +

    La directive Substitute permet de + spcifier un modle de recherche/remplacement appliquer au corps + de la rponse.

    + +

    La signification du modle peut tre modifie via toute + combinaison de ces drapeaux :

    + +
    +
    i
    +
    Effectue une comparaison sans tenir compte de la casse.
    +
    n
    +
    Par dfaut, le modle est trait en tant qu'expression + rationnelle. Le drapeau n force le traitement du + modle en tant que chane fixe.
    +
    f
    + +
    Avec le drapeau f, mod_substitute met plat le + rsultat d'une substitution (les conteneurs ou buckets ne sont + pas dissocis), ce qui permet d'ventuelles substitutions + ultrieures de s'effectuer sur cette dernire. C'est le + comportement par dfaut.
    +
    q
    + +
    Avec le drapeau q, mod_substitute dissocie les + conteneurs (ou buckets) aprs chaque substitution. Ceci peut + amliorer la rapidit de la rponse et diminuer la quantit de + mmoire utilise, mais ne doit tre utilis que s'il n'existe + aucune possibilit pour que le rsultat d'une substitution ne + corresponde au modle ou l'expression rationnelle d'une + substitution ultrieure.
    +
    + +

    Exemple

    +<Location />
    +    AddOutputFilterByType SUBSTITUTE text/html
    +    Substitute s/foo/bar/ni
    +</Location>
    +        
    +
    + +

    Si le modle ou la chane de substitution contient un caractre + slash '/', il faut utiliser un autre dlimiteur :

    + +

    Exemple d'utilisation d'un dlimiteur + alternatif

    +<Location />
    +    AddOutputFilterByType SUBSTITUTE text/html
    +    Substitute "s|<BR */?>|<br />|i"
    +</Location>
    +        
    +
    + +

    Lorsqu'on utilise des expressions rationnelles, on peut insrer + des rfrences arrires dans les oprations de comparaison et de + substitution, comme illustr dans l'exemple suivant :

    +

    Exemple d'utilisation de rfrences arrires 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 scnario courant d'utilisation de mod_substitute + est la situation o un serveur frontal mandate des requtes pour un + serveur d'arrire-plan qui renvoie des documents HTML contenant des + URLs intgres codes en dur qui font rfrence ce serveur + d'arrire-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrire-plan est hors d'atteinte.

    + +

    On peut, dans ce cas, utiliser mod_substutite pour + rcrire ces URLs afin qu'elles soit utilisables dans la partie + situe derrire le mandataire :

    + +

    Rcriture des URLs intgres 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-tte + Location (redirection) envoy par le serveur + d'arrire-plan et, dans cet exemple, la directive + Substitute se charge son tour de la modification de + la rponse HTML.

    + + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.html.en b/docs/manual/mod/mod_suexec.html.en index 5247b7c1..905878b3 100644 --- a/docs/manual/mod/mod_suexec.html.en +++ b/docs/manual/mod/mod_suexec.html.en @@ -33,8 +33,7 @@ and Group Status:Extension ModuleIdentifier:suexec_module -SourceFile:mod_suexec.c -Compatibility:Available in Apache 2.0 and later +SourceFile:mod_suexec.c

    Summary

    This module, in combination with the suexec support program allows @@ -57,8 +56,6 @@ and Group Context:server config, virtual host Status:Extension Module:mod_suexec -Compatibility:SuexecUserGroup is only available in 2.0 and -later.

    The SuexecUserGroup directive allows you to specify a user and group for CGI programs to run as. Non-CGI @@ -101,7 +98,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_suexec.html' } })(window, document); //-->

    + + + + +
    <-
    + +
    +

    Module Apache mod_xml2enc

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + + +
    Description:Support avanc de l'internationalisation et des jeux de +caractres pour les modules de filtrage bass sur libxml2
    Statut:Base
    IdentificateurdeModule:xml2enc_module
    FichierSource: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 dtecter + automatiquement l'encodage des donnes en entre et de s'assurer + qu'elle sont traites correctement par l'interprteur libxml2, y compris la conversion en + Unicode (UTF-8) si ncessaire. Il peut aussi convertir les donnes + dans l'encodage de votre choix aprs le traitement des balises, et + s'assurera que le jeu de caractres appropri sera dfini + dans l'en-tte HTTP Content-Type.

    +
    + +
    top
    +
    +

    Utilisation

    +

    Il existe deux scnarios d'utilisation : le cas des modules + programms pour travailler avec mod_xml2enc ; et les autres :

    +
    +
    Modules de filtrages programms pour mod_xml2enc
    +

    Les modules comme mod_proxy_html versions 3.1 et + suprieures utilisent la fonction optionnelle + xml2enc_charset pour dterminer la valeur de l'argument + "jeu de caractres" transmettre l'interprteur libxml2, et + disposent de la fonction optionnelle xml2enc_filter + pour effectuer un encodage ultrieur ventuel. L'utilisation de + mod_xml2enc avec un module prprogramm cet effet ne ncessite + aucune configuration : ce dernier configurera mod_xml2enc pour vous + (sachant que vous pouvez tout de mme le personnaliser via les + directives de configuration ci-dessous).

    +
    +
    Modules de filtrages non programms 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 chane de filtrage vous-mme. Ainsi, pour utiliser + mod_xml2enc avec un filtre foo fourni par un module + mod_foo et pour + amliorer 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 caractre support soit par + libxml2, soit par apr_xlate/iconv, soit par les deux.

    +
    +
    top
    +
    +

    API de programmation

    +

    Les programmeurs de modules de filtrage bass sur libxml2 sont + encourags les prprogrammer pour mod_xml2enc, afin de fournir un + support i18n solide aux utilisateurs sans avoir rinventer la + roue. L'API de programmation est dcrite dans + mod_xml2enc.h, et mod_proxy_html est un + exemple de son utilisation.

    +
    top
    +
    +

    Dtection et encodage

    +

    A la diffrence de mod_charset_lite, mod_xml2enc + est conu pour travailler avec des donnes dont l'encodage ne peut + pas tre connu, et donc configur, l'avance. Il utilise donc les + techniques de 'reniflage' suivantes pour dtecter le type d'encodage + des donnes HTTP :

    +
      +
    1. Si l'en-tte HTTP Content-Type contient un + paramtre charset, c'est ce dernier qui sera utilis.
    2. +
    3. Si les donnes commancent par une balise XML concernant + l'ordre des octets (BOM) ou par une dclaration d'encodage XML, + c'est celle-ci qui sera utilise.
    4. +
    5. Si un type d'encodage est dclar dans un lment HTML + <META>, c'est ce dernier qui sera utilis.
    6. +
    7. Si aucun des lments prcdents n'est trouv, c'est la + valeur par dfaut dfinie par la directive + xml2EncDefault qui sera utilise.
    8. +
    +

    Les conditions sont testes dans cet ordre . Ds qu'une rgle + s'applique, elle est utilise et la dtection est termine.

    +
    top
    +
    +

    Codage en sortie

    +

    libxml2 utilise toujours UTF-8 +(Unicode) en interne, et les modules de filtrage bass sur libxml2 +utiliseront cet encodage en sortie par dfaut. 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 thorie) +jamais tre ncessaire, et est mme dconseille cause de la charge de +traitement supplmentaire impose au serveur par une conversion non +ncessaire.

    +
    top
    +
    +

    Codages non supports

    +

    Si vous travaillez avec des encodages non supports par aucune des +mthodes de conversion disponibles sur votre plateforme, vous pouvez +tout de mme leur associer un alias vers un code support via la +directive xml2EncAlias.

    +
    +
    top
    +

    xml2EncAlias Directive

    + + + + + + +
    Description:Dfinit des alias pour les valeurs d'encodage
    Syntaxe:xml2EncAlias jeu-de-caractres alias [alias ...]
    Contexte:configuration du serveur
    Statut:Base
    Module:mod_xml2enc
    +

    Cette directive de niveau serveur permet de dfinir 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 + caractres non reconnus par libxml2 ou iconv, et viter une + conversion pour un encodage lorsque cela n'est pas ncessaire.

    + +
    +
    top
    +

    xml2EncDefault Directive

    + + + + + + + +
    Description:Dfinit un encodage par dfaut utiliser lorsqu'aucune +information ne peut tre automatiquement dtecte
    Syntaxe:xml2EncDefault nom
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    Statut:Base
    Module:mod_xml2enc
    Compatibilit:Disponible depuis la version 2.4.0 du serveur HTTP Apache +; disponible depuis un module tiers dans les versions antrieures.
    +

    Si vous traitez des donnes dont l'encodage est connu, mais ne + contenant aucune information propos de ce dernier, vous pouvez + dfinir une valeur par dfaut afin d'aider mod_xml2enc traiter + correctement les donnes. Par exemple, pour dfinir la valeur par + dfaut Latin1 (iso-8859-1 specifie dans HTTP/1.0), + utilisez :

    +
    xml2EncDefault iso-8859-1
    + + +
    +
    top
    +

    xml2StartParse Directive

    + + + + + + +
    Description:Indique l'interprteur partir de quelle balise il doit +commencer son traitement.
    Syntaxe:xml2StartParse lment [lment ...]
    Contexte:configuration du serveur, serveur virtuel, rpertoire, .htaccess
    Statut:Base
    Module:mod_xml2enc
    +

    Cette directive permet de spcifier partir de quelle balise, + parmi les lments spcifis, l'interprteur de balise doit + commencer son traitement. Ccei permet de contourner le problme des + serveurs d'arrire-plan qui insrent des lments non conformes en + dbut de donnes, ce qui a pour effet de perturber l'interprteur (voir un exemple ici).

    +

    Elle ne doit tre utilise ni pour les documents XML, ni pour les + documents HTML correctement formats.

    + +
    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/mod/module-dict.html.en b/docs/manual/mod/module-dict.html.en index beef27a5..cee01b65 100644 --- a/docs/manual/mod/module-dict.html.en +++ b/docs/manual/mod/module-dict.html.en @@ -134,7 +134,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/module-dict.html } })(window, document); //--> + + + + +
    <-
    + +
    +

    Apache MPM : Directives Communes

    +
    +

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

    +
    + +
    Description:Une srie de directives implmentes par plusieurs +modules multi-processus (MPM)
    Statut:MPM
    +
    + + +
    top
    +

    CoreDumpDirectory Directive

    + + + + + + + +
    Description:Le rpertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mmoire
    Syntaxe:CoreDumpDirectory rpertoire
    Dfaut:Voir ci-dessous pour le rpertoire par dfaut
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, prefork, worker
    +

    Cette directive permet de dfinir le rpertoire dans lequel + Apache httpd va tenter de se positionner avant d'effectuer un vidage + mmoire sur disque. + Si votre systme d'exploitation est configur pour crer des + fichiers de vidage mmoire dans le rpertoire de travail des + processus qui se sont crashs, + CoreDumpDirectory est ncessaire pour + dfinir un rpertoire de travail autre que le rpertoire par dfaut + ServerRoot, ce rpertoire de + travail ne devant pas tre accessible en criture par l'utilisateur sous + lequel le serveur s'excute.

    + +

    Si vous avez besoin d'un vidage mmoire pour le dbogage, vous + pouvez utiliser cette directive pour le placer un endroit + diffrent. Cette directive n'a aucun effet si votre systme + d'exploitation n'est pas configur pour crer des + fichiers de vidage mmoire dans le rpertoire de travail des + processus qui se sont crashs.

    + +

    Vidages mmoire sous Linux

    +

    Si Apache httpd est dmarr sous l'utilisateur root puis bascule vers + un autre utilisateur, le noyau Linux dsactive les + vidages mmoire, mme si le rpertoire est accessible en criture au + processus. Apache httpd (versions 2.0.46 et suprieures) ractive les + vidages mmoire sous Linux 2.4 et au del, mais seulement si vous + dfinissez une directive CoreDumpDirectory.

    +
    + +
    +

    Vidages mmoire sous BSD

    +

    Pour activer le vidage mmoire des excutables suid sur les + systmes de style BSD (comme FreeBSD), dfinissez + kern.sugid_coredump 1. +

    +
    + +

    Signaux spcifiques

    +

    CoreDumpDirectory n'est trait qu' la + reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT, + SIGSEGV, et SIGBUS.

    +

    + Sur certains systmes d'exploitation, SIGQUIT provoque aussi un + vidage mmoire, mais n'est pas trait par les directives + CoreDumpDirectory ou + EnableExceptionHook, si bien que la + dfinition du rpertoire d'enregistrement du vidage mmoire est + entirement dvolue au systme d'exploitation.

    +
    + +
    +
    top
    +

    EnableExceptionHook Directive

    + + + + + + + +
    Description:Active un hook ("point d'accrochage logiciel") qui excute des +gestionnaires d'exception aprs un crash
    Syntaxe:EnableExceptionHook On|Off
    Dfaut:EnableExceptionHook Off
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, prefork, worker
    +

    Pour des raisons de scurit, cette directive n'est disponible + que si la compilation du serveur a t configure 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 aprs le crash d'un processus + enfant.

    + +

    Deux modules, mod_whatkilledus et + mod_backtrace utilisent ce hook. Veuillez vous + rfrer la page EnableExceptionHook de Jeff Trawick pour plus + d'informations leur sujet.

    + +
    +
    top
    +

    GracefulShutdownTimeout Directive

    + + + + + + + + +
    Description:Spcifie le dlai maximum aprs lequel le serveur va +s'arrter dans le cas d'un arrt "en douceur"
    Syntaxe:GracefulShutDownTimeout secondes
    Dfaut:GracefulShutDownTimeout 0
    Contexte:configuration du serveur
    Statut:MPM
    Module:prefork, worker, event
    Compatibilit:Disponible dans les versions 2.2 et suprieures
    +

    La directive GracefulShutdownTimeout + permet de spcifier le temps, en secondes, pendant lequel le serveur + va continuer fonctionner aprs avoir reu un signal + "graceful-stop" ("Arrt en douceur"), afin de terminer le traitement + des connexions en cours.

    + +

    Dfinir cette valeur zro signifie au serveur d'attendre + jusqu' ce que toutes les requtes en cours aient t traites.

    + +
    +
    top
    +

    Listen Directive

    + + + + + + + +
    Description:Les adresses IP et ports sur lesquels le serveur coute
    Syntaxe:Listen [adresse IP:]numro port +[protocole]
    Contexte:configuration du serveur
    Statut:MPM
    Module:mpm_netware, mpm_winnt, mpmt_os2, prefork, worker, event
    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 spcifis ; par + dfaut, le serveur rpond aux requtes en provenance de toutes les + interfaces rseau. La directive Listen est + dornavant requise, et si elle est absente du fichier de + configuration, le serveur refusera de dmarrer. Ceci constitue un + changement par rapport aux versions prcdentes d'Apache httpd.

    + +

    La directive Listen signifie au serveur de + n'accepter les requtes entrantes que vers le port ou le couple + adresse-port spcifi. Si seulement un port est spcifi, le serveur + se met l'coute sur ce port sur toutes les interfaces rseau. Si une adresse IP + et un port sont spcifis, le serveur va se mettre l'coute sur ce port sur + l'interface rseau correspondant l'adresse IP.

    + +

    On peut utiliser autant de directives + Listen que ncessaire pour spcifier + plusieurs adresses et/ou ports couter. Le serveur rpondra aux + requtes vers tous les adresses et ports spcifis.

    + +

    Par exemple, pour que le serveur accepte les connexions sur les + ports 80 et 8000, utilisez :

    + +
    +Listen 80
    +Listen 8000
    +    
    + + +

    Pour que la serveur accepte les connexions sur deux interfaces et + ports particuliers, spcifiez :

    + +
    +Listen 192.170.2.1:80
    +Listen 192.170.2.5:8000
    +    
    + + +

    Les adressee IPv6 doivent tre entoures de crochets, comme dans + l'exemple suivant :

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

    L'argument optionnel protocole n'est pas ncessaire + dans la plupart des configurations. S'il est absent, + https est la valeur par dfaut pour le port 443 et + http l'est pour tous les autres ports. L'argument + protocole sert dterminer quel module doit traiter une requte, et + appliquer des optimisations spcifiques certains protocoles + l'aide de la directive AcceptFilter.

    + +

    La spcification d'un protocole n'est ncessaire 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 mmes + adresse IP/port vont provoquer l'envoi d'un message d'erreur + Address already in use. +
    + + +

    Voir aussi

    + +
    +
    top
    +

    ListenBackLog Directive

    + + + + + + + +
    Description:Longueur maximale de la liste d'attente des +connexions
    Syntaxe:ListenBacklog backlog
    Dfaut:ListenBacklog 511
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker
    +

    La longueur maximale de la liste d'attente des connexions. En + gnral, aucune modification n'est ncessaire, ni mme souhaitable ; + cependant, sur certains systmes, il peut tre ncessaire + d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en + masse de requtes SYN pour saturer le serveur). Voir le paramtre + backlog de l'appel systme listen(2).

    + +

    En fait, l'argument backlog sera souvent limit une valeur + infrieure en fonction du systme d'exploitation. Notez aussi que de + nombreux systmes d'exploitation ne tiennent pas vraiment compte de + la valeur spcifie pour l'argument backlog, mais s'en inspirent + seulement (et choisissent en gnral une valeur suprieure).

    + +
    +
    top
    +

    MaxConnectionsPerChild Directive

    + + + + + + + + +
    Description:Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement
    Syntaxe:MaxConnectionsPerChild number
    Dfaut:MaxConnectionsPerChild 0
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker
    Compatibilit:Disponible depuis la version 2.3.9 du serveur HTTP +Apache. L'ancien nom MaxRequestsPerChild est encore +support.
    +

    La directive MaxConnectionsPerChild permet de + dfinir 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 arrt. Si MaxConnectionsPerChild est + dfinie 0, il n'y a plus aucune limite sur le nombre + de connexions que le processus pourra traiter.

    + +

    Dfinir MaxConnectionsPerChild une valeur + non nulle limite la quantit de mmoire qu'un processus peut + consommer cause de fuites (accidentelles) de mmoire.

    + + +
    +
    top
    +

    MaxMemFree Directive

    + + + + + + + +
    Description:Quantit maximale de mmoire que l'allocateur principal est +autoris conserver sans appeler free()
    Syntaxe:MaxMemFree KOctets
    Dfaut:MaxMemFree 2048
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, prefork, worker, mpm_winnt
    +

    La directive MaxMemFree permet de dfinir + le nombre maximum de KOctets libres que tout allocateur est + autoris conserver sans appeler free(). Dans les MPMs + threads, chaque thread possde son propre allocateur. Si elle est + dfinie 0, la quantit de mmoire libre que peut conserver un + allocateur est illimite.

    + +
    +
    top
    +

    MaxRequestWorkers Directive

    + + + + + + + +
    Description:Nombre maximum de connexions pouvant tre traites +simultanment
    Syntaxe:MaxRequestWorkers nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, prefork, worker
    +

    La directive MaxRequestWorkers permet de fixer le + nombre maximum de requtes pouvant tre traites simultanment. + Si la limite MaxRequestWorkers est atteinte, toute + tentative de connexion sera normalement mise dans une file + d'attente, et ceci jusqu' un certain nombre dpendant de la + directive ListenBacklog. + Lorsqu'un processus enfant se librera suite la fin du traitement + d'une requte, la connexion en attente pourra tre traite son + tour.

    + +

    Pour les serveurs non threads (c'est dire utilisant + prefork), la directive + MaxRequestWorkers dfinit alors le nombre maximum de + processus enfants qui pourront tre lancs simultanment pour + traiter les requtes. La valeur par dfaut est 256 ; si + vous l'augmentez, vous devez aussi augmenter la valeur de la + directive ServerLimit.

    + +

    Pour les serveur threads et hybrides (utilisant par + exemple event ou worker), + MaxRequestWorkers dfinit alors le nombre total de + threads qui seront disponibles pour servir les clients. Dans le + cas des MPMs hybrides, la valeur par dfaut est 16 + (directive ServerLimit) multipli par la valeur + 25 (directive ThreadsPerChild). Par consquent, 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
    +

    MaxSpareThreads Directive

    + + + + + + + +
    Description:Nombre maximum de threads inactifs
    Syntaxe:MaxSpareThreads nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpmt_os2, worker
    +

    C'est le nombre maximum de threads inactifs. Les MPMs utilisent + cette directive de diffrentes manires.

    + +

    Pour worker, la dfinition par dfaut est + MaxSpareThreads 250. Ce MPM gre les threads inactifs + au niveau du serveur. Si le serveur possde trop de threads + inactifs, des processus enfants seront arrts jusqu' ce que le + nombre de threads inactifs repasse en dessous de cette limite.

    + +

    Pour mpm_netware, la dfinition par dfaut est + MaxSpareThreads 100. Comme ce MPM n'excute qu'un seul + processus, le nombre de processus inactifs est surveill au + niveau du serveur.

    + +

    mpmt_os2 fonctionne de manire similaire + mpm_netware. Pour mpmt_os2, la + valeur par dfaut est 10.

    + +

    Contraintes

    +

    La gamme de valeurs pour MaxSpareThreads + est limite. Apache httpd corrigera automatiquement cette valeur selon + les rgles suivantes :

    + +
    + +

    Voir aussi

    + +
    +
    top
    +

    MinSpareThreads Directive

    + + + + + + + +
    Description:Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requtes
    Syntaxe:MinSpareThreads nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpmt_os2, worker
    +

    C'est le nombre minimum de threads inactifs pour tre en mesure + de traiter les pics de requtes. Les MPMs utilisent cette directive + de diffrentes manires.

    + +

    Avec worker, la dfinition par dfaut est + MinSpareThreads 75, et le nombre de threads inactifs + est surveill au niveau du serveur. Si le serveur ne possde pas + assez de threads inactifs, des processus enfants sont crs jusqu' + ce que le nombre de threads inactifs repasse au dessus de + nombre.

    + +

    Avec mpm_netware, la dfinition par dfaut est + MinSpareThreads 10 et, comme ce MPM n'excute qu'un + seul processus, le nombre de threads est surveill au niveau du + serveur.

    + +

    mpmt_os2 fonctionne de manire similaire + mpm_netware. Pour mpmt_os2, la + valeur par dfaut est 5.

    + + +

    Voir aussi

    + +
    +
    top
    +

    PidFile Directive

    + + + + + + + +
    Description:Ficher dans lequel le serveur enregistre l'identificateur +de processus du dmon
    Syntaxe:PidFile nom fichier
    Dfaut:PidFile logs/httpd.pid
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_winnt, mpmt_os2, prefork, worker
    +

    La directive PidFile permet de dfinir le + ficher dans lequel le serveur + enregistre l'identificateur de processus du dmon. Si le chemin du + fichier n'est pas absolu, il est considr comme relatif au chemin + dfini 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 + dfini par la directive PidFile.

    + +

    La directive PidFile fait l'objet des + mmes avertissements que ceux concernant le chemin d'enregistrement + des fichiers journaux et la scurit.

    + +

    Note

    +

    Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser + que le script apachectl, ou le script de + dmarrage fourni avec votre systme d'exploitation pour (re)dmarrer ou + arrter le serveur.

    +
    + +
    +
    top
    +

    ReceiveBufferSize Directive

    + + + + + + + +
    Description:Taille du tampon TCP en entre
    Syntaxe:ReceiveBufferSize octets
    Dfaut:ReceiveBufferSize 0
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker
    +

    Le serveur va fixer la taille du tampon TCP en entre au + nombre d'octets spcifi.

    + +

    Si la directive est dfinie 0, le serveur va + utiliser la valeur par dfaut adopte par le systme + d'exploitation.

    + +
    +
    top
    +

    ScoreBoardFile Directive

    + + + + + + + +
    Description:Chemin du fichier o sont stockes les donnes concernant +la coordination des processus enfants
    Syntaxe:ScoreBoardFile chemin fichier
    Dfaut:ScoreBoardFile logs/apache_runtime_status
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_winnt, prefork, worker
    +

    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 + ncessitent un fichier. En l'absence de cette directive, donc si + aucun nom de fichier n'est spcifi, Apache httpd tentera tout + d'abord de crer un tableau uniquement en mmoire (en utilisant la + mmoire partage anonyme) ; et si il n'y parvient pas, il tentera de + crer un fichier sur disque (en utilisant la mmoire partage base + de fichier). Si cette directive est utilise, Apache httpd crera + systmatiquement un fichier sur disque.

    + +

    Exemple

    +      ScoreBoardFile /var/run/apache_runtime_status
    +      
    +
    + +

    Une mmoire partage sous forme de fichier est utile pour les + applications tierces qui ncessitent un accs direct au tableau de + bord des processus.

    + +

    Si vous utilisez un ScoreBoardFile, vous + pourrez constater une amlioration des performances en le plaant + sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte + des mmes avertissements que ceux concernant le chemin du fichier + journal et la scurit.

    + +

    Voir aussi

    + +
    +
    top
    +

    SendBufferSize Directive

    + + + + + + + +
    Description:Taille du tampon TCP en sortie
    Syntaxe:SendBufferSize octets
    Dfaut:SendBufferSize 0
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker
    +

    Dfinit la taille du tampon TCP en sortie avec le nombre + d'octets spcifi. Ceci s'avre souvent trs utile pour augmenter les + valeurs par dfaut standards du pass des systmes 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 dfinie 0, le serveur va + utiliser la valeur par dfaut adopte par le systme + d'exploitation.

    + +

    L'amlioration des performances des connexions grande vitesse + et temps de latence lev, peut ncessiter + une intervention au niveau de la configuration de votre systme + d'exploitation.

    + +

    Sous certains systmes 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 dfinie OFF. + Cette interaction ne s'applique qu'aux fichiers statiques.

    + +
    +
    top
    +

    ServerLimit Directive

    + + + + + + + +
    Description:Limite suprieure de la dfinition du nombre de +processus
    Syntaxe:ServerLimit nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, prefork, worker
    +

    Avec le MPM prefork, cette directive dfinit le + nombre maximum que l'on peut affecter la directive MaxRequestWorkers, et ceci pour la + dure de vie du processus Apache httpd. Avec le + MPM worker, cette directive, en combinaison avec + ThreadLimit, dfinit le + nombre maximum que l'on peut affecter MaxRequestWorkers, et ceci pour la dure de + vie du processus Apache httpd. Au cours d'un redmarrage, vous pouvez + modifier la valeur de la directive MaxRequestWorkers, alors que toute + tentative de modification de la valeur de la directive ServerLimit sera ignore.

    + +

    Cette directive doit tre utilise avec prcaution. Si + ServerLimit est dfinie une valeur beaucoup + plus grande que ncessaire, de la mmoire partage supplmentaire + sera inutilement alloue. Si la fois + ServerLimit et MaxRequestWorkers possdent des valeurs + suprieures ce que le systme peut supporter, ce dernier peut + devenir instable ou Apache httpd peut tout simplement refuser de dmarrer.

    + +

    Avec le MPM prefork, n'utilisez cette directive + que si vous devez dfinir MaxRequestWorkers une valeur suprieure + 256 (valeur par dfaut). N'affectez pas la directive ServerLimit une valeur suprieure + celle que vous avez prvu d'affecter la directive MaxRequestWorkers.

    + +

    Avec worker, n'utilisez cette directive que si + la dfinition de vos directives MaxRequestWorkers et ThreadsPerChild ncessitent plus de + 16 processus serveurs (valeur par dfaut). N'affectez pas la + directive ServerLimit une + valeur suprieure au nombre de processus requis pour la dfinition + des directives MaxRequestWorkers + et ThreadsPerChild.

    + +

    Note

    +

    Il existe une limite de ServerLimit 20000 code en + dur dans le serveur (200000 pour le MPM prefork). + Ceci est cens viter les effets dsastreux que pourrait provoquer + une faute de frappe. Pour dpasser cette limite, vous devez + modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du + mpm et recompiler le serveur.

    +
    + +

    Voir aussi

    + +
    +
    top
    +

    StartServers Directive

    + + + + + + + +
    Description:Nombre de processus enfants du serveur crs au +dmarrage
    Syntaxe:StartServers nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpmt_os2, prefork, worker
    +

    La directive StartServers permet de + dfinir le nombre de processus enfants du serveur crs au + dmarrage. Comme le nombre de processus est contrl dynamiquement + en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en gnral + pas ncessaire d'ajuster ce paramtre.

    + +

    La valeur par dfaut diffre d'un MPM l'autre. Pour + worker, la dfinition par dfaut est + StartServers 3 ; la valeur par dfaut est + 5 pour prefork et 2 + pour mpmt_os2.

    + +
    +
    top
    +

    StartThreads Directive

    + + + + + + + +
    Description:Nombre de threads crs au dmarrage
    Syntaxe:StartThreads nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:mpm_netware
    +

    C'est le nombre de threads crs au dmarrage du serveur. Comme + le nombre de threads est contrl dynamiquement + en fonction de la charge (voir MinSpareThreads, MaxSpareThreads, MinSpareServers, MaxSpareServers), il n'est en gnral + pas ncessaire d'ajuster ce paramtre.

    + +

    Pour mpm_netware, la dfinition par dfaut est + StartThreads 50 et, comme il n'y a qu'un processus, il + s'agit du nombre total de threads crs au dmarrage pour servir les + requtes.

    + +
    +
    top
    +

    ThreadLimit Directive

    + + + + + + + +
    Description:Le nombre de threads maximum que l'on peut dfinir par +processus enfant
    Syntaxe:ThreadLimit nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_winnt, worker
    +

    Cette directive permet de dfinir le nombre maximum que l'on peut + affecter la directive ThreadsPerChild pour la dure de vie + du processus Apache httpd. La directive ThreadsPerChild peut tre modifie + au cours d'un redmarrage jusqu' la valeur de la directive ThreadLimit, mais toute tentative + de modification de la directive ThreadLimit au cours d'un + redmarrage sera ignore.

    + +

    L'utilisation de cette directive doit faire l'objet de + prcautions particulires. Si ThreadLimit est + dfinie une valeur trs suprieure la directive ThreadsPerChild, de la mmoire + partage supplmentaire sera inutilement alloue. Si les directives + ThreadLimit et ThreadsPerChild sont dfinies des + valeurs suprieures ce que le systme peut supporter, ce dernier + peut devenir instable, ou Apache httpd peut tout simplement refuser de + dmarrer. Ne dfinissez pas cette directive une valeur suprieure + la valeur maximale que vous pensez affecter la directive ThreadsPerChild pour le processus + Apache httpd en cours d'excution.

    + +

    La valeur par dfaut 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 15000 avec mpm_winnt) + code en dur dans le serveur. Ceci est cens viter les effets + dsastreux que pourrait provoquer une faute de frappe. Pour + dpasser cette limite, vous devez modifier la valeur de + MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le + serveur.

    +
    + +
    +
    top
    +

    ThreadsPerChild Directive

    + + + + + + + +
    Description:Nombre de threads crs par chaque processus +enfant
    Syntaxe:ThreadsPerChild nombre
    Dfaut:Voir ci-dessous pour plus de dtails
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_winnt, worker
    +

    Cette directive permet de dfinir le nombre de threads que va + crer chaque processus enfant. Un processus enfant cre ces threads + au dmarrage et n'en cre 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 dfaut de la directive + ThreadsPerChild est 64 avec + mpm_winnt, et 25 avec les autres + MPMs.

    + +
    +
    top
    +

    ThreadStackSize Directive

    + + + + + + + + +
    Description:La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients
    Syntaxe:ThreadStackSize taille
    Dfaut:65536 sous NetWare; varie en fonction des autres systmes +d'exploitation
    Contexte:configuration du serveur
    Statut:MPM
    Module:event, mpm_netware, mpmt_os2, mpm_winnt, worker, event
    Compatibilit:Disponible dans les versions 2.1 et suprieures +du serveur HTTP Apache
    +

    La directive ThreadStackSize permet de + dfinir la taille de la pile (pour les donnes propres) qu'utilisent + les threads qui traitent les connexions clients en faisant appel + des modules. Dans la plupart des cas, la valeur par dfaut de la + taille de la pile du systme d'exploitation convient, mais il existe + certaines situations o il peut s'avrer ncessaire de l'ajuster + :

    + +
      +
    • Sur les plates-formes qui possdent une valeur par dfaut de + taille de la pile relativement petite (par exemple HP-UX), Apache + httpd peut se crasher si l'on utilise certains modules tiers qui + possdent un quantit de donnes propres stockes relativement + importante. Il se peut que ces mmes modules fonctionnent + correctement sur d'autres plate-formes o la valeur par dfaut de + la taille de la pile est suprieure. Ce type de crash peut tre + evit en dfinissant ThreadStackSize une + valeur suprieure la valeur par dfaut du systme + d'exploitation. Ce type d'ajustement n'est ncessaire 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 dfaut de la pile des + threads est sensiblement suprieure la taille ncessaire 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 dfinie une valeur + infrieure la valeur par dfaut du systme 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 + possibilits, car il peut arriver, dans de rares cas, que des + requtes ncessitent une taille de pile suprieure pour pouvoir + tre traites. La taille minimale requise pour la pile dpend + fortement des modules utiliss, mais toute modification dans la + configuration du serveur web peut invalider la dfinition courante + de la directive ThreadStackSize.
    • + +
    • Sous Linux, cette directive ne peut tre utilise que pour + augmenter la valeur par defaut de la taille de la pile, car + l'appel systme sous-jacent utilise cette valeur comme taille de pile + minimale. C'est la limite logicielle (souvent leve) + pour ulimit -s (8Mo si aucune limite) qui est + utilise comme taille de pile par dfaut.
    • +
    + +
    Il est recommand de ne pas rduire + ThreadStackSize, moins qu'un grand nombre + de threads par processus enfant ne soit ncessaire. Sur certaines + plates-formes (y compris Linux), une valeur de 128000 est dj 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 200faaa5..3f12f84e 100644 --- a/docs/manual/mod/mpm_common.html.ja.utf8 +++ b/docs/manual/mod/mpm_common.html.ja.utf8 @@ -26,6 +26,7 @@

    翻訳済み言語:  de  |  en  | + fr  |  ja  |  tr 

    @@ -747,6 +748,7 @@ simultaneously

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -767,7 +769,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html' } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Apache MPM os2

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + + +
    Description:MPM hybride multi-processus, multi-thread pour +OS/2
    Statut:MPM
    IdentificateurdeModule:mpm_mpmt_os2_module
    FichierSource:mpmt_os2.c
    +

    Sommaire

    + +

    Le serveur se compose d'un processus principal parent, et d'un + petit nombre fixe de processus enfants.

    + +

    La tche du processus parent consiste grer les processus + enfants, c'est dire lancer ces processus de manire 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 matre qui accepte les connexions et les distribue aux + esclaves via une file de travail. Le jeu de threads esclaves est + dynamique et gr par un thread de maintenance de faon 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index c21f42f3..a0bc723a 100644 --- a/docs/manual/mod/prefork.html +++ b/docs/manual/mod/prefork.html @@ -8,6 +8,10 @@ URI: prefork.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: prefork.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: prefork.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/prefork.html.de b/docs/manual/mod/prefork.html.de index cd9eefd4..071007f5 100644 --- a/docs/manual/mod/prefork.html.de +++ b/docs/manual/mod/prefork.html.de @@ -26,6 +26,7 @@

    Verfgbare Sprachen:  de  |  en  | + fr  |  ja  |  tr 

    @@ -189,6 +190,7 @@

    Verfgbare 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -209,7 +211,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Apache MPM prefork

    +
    +

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

    +
    + + + +
    Description:Implmente un serveur web avec dmarrage anticip de +processus, sans thread
    Statut:MPM
    IdentificateurdeModule:mpm_prefork_module
    FichierSource:prefork.c
    +

    Sommaire

    + +

    Ce module multi-processus (MPM) implmente un serveur web avec + dmarrage anticip de processus. Chaque processus du serveur peut + rpondre aux requtes entrantes, et un processus parent contrle la + taille du jeu de serveurs. Il est particulirement indiqu pour les + sites qui ne doivent pas utiliser les threads afin de maintenir une + compatibilit avec certaines bibliothques non sres du point de vue + des threads. C'est galement le MPM le plus appropri si l'on veut + isoler les requtes les unes des autres, de faon ce qu'un + problme concernant une requte n'affecte pas les autres.

    + +

    Ce MPM s'auto-contrle de manire efficace, de sorte qu'il est + rarement ncessaire d'ajuster ses directives de configuration. Le + plus important est la dfinition de la directive MaxRequestWorkers ; sa valeur doit tre + assez grande pour pouvoir traiter autant de requtes simultanes que + vous pensez recevoir, mais assez petite pour conserver suffisamment + de mmoire RAM pour tous les processus.

    +
    + +
    top
    +
    +

    Comment a marche

    +

    Un processus de contrle unique a pour tche 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 + rserve, afin de pouvoir traiter les requtes entrantes. De + cette faon, les clients n'ont pas besoin d'attendre le dmarrage + d'un nouveau processus enfant pour que ses requtes puissent tre + traites.

    + +

    Les directives StartServers, MinSpareServers, MaxSpareServers et MaxRequestWorkers permettent de contrler + la manire dont le processus parent cre les processus enfants pour + traiter les requtes. En gnral, Apache httpd s'auto-contrle de manire + efficace, de sorte que la plupart des sites peuvent conserver les + valeurs par dfaut des directives. Les sites qui doivent traiter + plus de 256 requtes simultanes doivent augmenter la valeur de + MaxRequestWorkers, alors que les + sites dont la ressource mmoire est limite doivent la diminuer afin + d'viter une hyperactivit du serveur (utilisation excessive de la + mmoire virtuelle sur disque). Vous trouverez plus d'informations + propos du contrle de la cration de processus dans le document conseils en matire de + performances

    + +

    Alors que le processus parent est en gnral dmarr en tant que + root sous Unix afin de pouvoir se mettre l'coute sur le port 80, les + processus enfants sont lancs par Apache httpd sous un utilisateur avec + privilges restreints. On peut contrler les privilges accords 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 destins tre servis, + mais leurs privilges doivent tre aussi bas que possible.

    + +

    La directive MaxConnectionsPerChild permet de + contrler la frquence laquelle le serveur recycle ses processus + en arrtant les plus anciens et en en lanant de nouveaux.

    + +

    Ce module MPM utilise le mutex mpm-accept pour + srialiser l'accs aux connexions entrantes lorsque peut se + prsenter un problme d'afflux de requtes (en gnral quand il y a + plusieurs sockets en coute). Les aspects de l'implmentation de ce + mutex peuvent tre configurs via la directive Mutex. Vous trouverez des informations + supplmentaires propos de ce mutex dans la documentation propos + des conseils en matire de + performances

    +
    +
    top
    +

    MaxSpareServers Directive

    + + + + + + + +
    Description:Nombre maximum de processus serveurs enfants +inactifs
    Syntaxe:MaxSpareServers nombre
    Dfaut:MaxSpareServers 10
    Contexte:configuration du serveur
    Statut:MPM
    Module:prefork
    +

    La directive MaxSpareServers permet de + dfinir le nombre maximum souhait de processus serveurs enfants + inactifs. Un processus inactif est un processus qui ne + traite pas de requte. S'il y a plus de + MaxSpareServers processus inactifs, le + processus parent arrtera les processus excdentaires.

    + +

    La modification de ce paramtre ne peut s'avrer ncessaire que + dans le cas de sites trs sollicits. Dfinir ce paramtre une + valeur trs grande est cependant dans la plupart des cas une + mauvaise ide. Si vous essayez d'affecter ce paramtre une valeur + gale ou infrieure la valeur de MinSpareServers, le serveur HTTP Apache + l'ajustera automatiquement la valeur de + MinSpareServers + 1.

    + +

    Voir aussi

    + +
    +
    top
    +

    MinSpareServers Directive

    + + + + + + + +
    Description:Nombre minimum de processus serveurs enfants +inactifs
    Syntaxe:MinSpareServers nombre
    Dfaut:MinSpareServers 5
    Contexte:configuration du serveur
    Statut:MPM
    Module:prefork
    +

    La directive MinSpareServers permet de + dfinir le nombre minimum dsir de processus serveurs enfants + inactifs. Un processus inactif est un processus qui ne + traite pas de requte. S'il y a moins de + MinSpareServers processus inactifs, le + processus parent va crer de nouveaux enfants de la manire suivante + : il en cre un, attend une seconde, il en cre deux, attend une + seconde, il en cre quatre, puis continue ainsi exponentiellement + jusu' ce que son taux de cration de processus enfants soit de 32 + par seconde. Il ne s'arrte que lorsque le nombre de processus + enfants correspond la dfinition de la directive + MinSpareServers.

    + +

    La modification de ce paramtre ne peut s'avrer ncessaire que + dans le cas de sites trs sollicits. Dfinir ce paramtre une + valeur trs grande est dans la plupart des cas une mauvaise + ide.

    + +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 3e4ebf18..54935597 100644 --- a/docs/manual/mod/prefork.html.ja.utf8 +++ b/docs/manual/mod/prefork.html.ja.utf8 @@ -26,6 +26,7 @@

    翻訳済み言語:  de  |  en  | + fr  |  ja  |  tr 

    @@ -187,6 +188,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -207,7 +209,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/prefork.html'; } })(window, document); //-->
    + + + + +
    <-
    + +
    +

    Apache MPM worker

    +
    +

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

    +
    + + + +
    Description:Module multi-processus implmentant un serveur web hybride +multi-processus multi-thread
    Statut:MPM
    IdentificateurdeModule:mpm_worker_module
    FichierSource:worker.c
    +

    Sommaire

    + +

    Ce module multi-processus (MPM) implmente un serveur hybride + multi-processus multi-thread. En utilisant les threads pour servir + les requtes, 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 possdant de nombreux threads.

    + +

    Les directives les plus importantes qui permettent de contrler + ce MPM sont ThreadsPerChild, qui dfinit le + nombre de threads lancs par chaque processus enfant et MaxRequestWorkers, qui dfinit le nombre + global maximum de threads qui peuvent tre lancs.

    +
    + +
    top
    +
    +

    Comment a marche

    +

    Un processus de contrle unique (le parent) a pour tche de + lancer les processus enfants. Chaque processus enfant cre 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 arrive.

    + +

    Le serveur HTTP Apache essaie toujours de maintenir un jeu de + threads serveurs + inactifs ou en rserve, qui se tiennent prts traiter + les requtes entrantes. De cette faon, les clients n'ont pas besoin + d'attendre la cration d'un nouveau thread ou d'un nouveau processus + pour que leurs requtes puissent tre traites. Le nombre de + processus lancs initialement est dfini par la directive StartServers. En cours de + fonctionnement, le serveur value le nombre total de threads inactifs + dans tous les processus, et en cre ou en arrte de faon + maintenir ce nombre l'intrieur des limites dfinies par les + directives MinSpareThreads et MaxSpareThreads. Comme ce module + s'auto-contrle de manire efficace, on peut en gnral conserver + les valeurs par dfaut. Le nombre maximum de clients pouvant tre + servis simultanment (c'est dire le nombre global maximum de + threads pour tous les processus) est dfini par la directive + MaxRequestWorkers. Le nombre + maximum de processus enfants actifs est dfini par la valeur de la + directive MaxRequestWorkers + divise 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 modifies qu'en + arrtant compltement le serveur et en le dmarrant nouveau. + La valeur de la directive ServerLimit constitue une limite + absolue pour le nombre de processus enfants actifs, et doit tre + suprieure ou gale la valeur de la directive MaxRequestWorkers divise 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 + suprieure 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'arrt, mais dont au moins un + thread serveur est encore en train de traiter une connexion client + existante. Il peut subsister en thorie jusqu' MaxRequestWorkers processus en cours + d'arrt, bien qu'en ralit, ce nombre sera en gnral beaucoup plus + petit. Ce comportement peut tre vit en dsactivant l'arrt de + processus enfants individuels de la manire suivante :

    + + + +

    Voici un exemple typique de configuration du contrle + 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 gnral dmarr en tant que + root sous Unix afin de se mettre en coute du port 80, + les processus enfants et les threads sont lancs par le serveur sous un + utilisateur avec privilges restreints. On peut utiliser les + directives User et Group pour dfinir les privilges + des processus enfants. Les processus enfants doivent pouvoir tre en + mesure de lire tous les contenus destins tre servis, mais + doivent avoir des privilges aussi bas que possible. De plus, ces + directives dfinissent galement les privilges dont vont hriter les + scripts CGI (sauf si on utilise suexec).

    + +

    La directive MaxConnectionsPerChild permet de + dfinir la frquence laquelle le serveur recycle ses processus en + arrtant les plus anciens et en en lanant de nouveaux.

    + +

    Ce module MPM utilise le mutex mpm-accept pour + srialiser l'accs aux connexions entrantes lorsqu'un problme + d'afflux de requtes peut survenir (en gnral, lorsqu'il y a + plusieurs sockets en coute). Les diffrents aspects de + l'implmentation de ce mutex peuvent tre configurs via la + directive Mutex. Vous + trouverez des informations plus dtailles propos de ce mutex dans + la documentation sur les conseils en matire 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 6e1eeb7a..696ae728 100644 --- a/docs/manual/mod/worker.html.ja.utf8 +++ b/docs/manual/mod/worker.html.ja.utf8 @@ -26,6 +26,7 @@

    翻訳済み言語:  de  |  en  | + fr  |  ja  |  tr 

    @@ -184,6 +185,7 @@

    翻訳済み言語:  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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -204,7 +206,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/worker.html'; } })(window, document); //-->
    + + + +
    <-
    +

    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 conu pour vous + donner une ide du degr de performances de votre installation + d'Apache. Il vous permet en particulier de dterminer le nombre de + rqutes 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 simultanit ] + [ -C nom-cookie=valeur ] + [ -d ] + [ -e fichier-csv ] + [ -f protocole ] + [ -g fichier-gnuplot ] + [ -h ] + [ -H en-tte-personnalis ] + [ -i ] + [ -k ] + [ -n requtes ] + [ -p fichier-POST ] + [ -P + nom-utilisateur-mandataire:mot-de-passe ] + [ -q ] + [ -r ] + [ -s timeout ] + [ -S ] + [ -t limite-de-dure ] + [ -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 spars par un + seul caractre : et transmis sous forme code base64. + La chane est envoye 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/rception TCP, en octets.
    + +
    -B adresse-locale
    +
    Adresse laquelle se rattacher lors des connexions sortantes.
    + +
    -c simultanit
    +
    Nombre de requtes effectuer simultanment. Par dfaut, une + seule requte est effectue la fois.
    + +
    -C nom-cookie=valeur
    +
    Ajoute une ligne Cookie: la requte. L'argument + se prsente en gnral sous la forme d'une + paire nom=valeur. Ce champ peut + tre rpt.
    + +
    -d
    +
    N'affiche pas le "pourcentage servi dans la table XX [ms]". + (option abandonne).
    + +
    -e fichier-csv
    +
    Enregistre des valeurs spares par des virgules (CSV) dans un + fichier, indiquant pour chaque pourcentage (de 1% 100 %), le temps + (en millisecondes) mis pour servir ce pourcentage de requtes. Ce + fichier est en gnral plus utile qu'un fichier 'gnuplot', car les + rsultats sont dj sous forme binaire.
    + +
    -f protocole
    +
    Spcifie le protocole SSL/TLS (SSL2, SSL3, TLS1, ou ALL).
    + +
    -g fichier-gnuplot
    +
    Enregistre toutes les valeurs mesures dans un fichier 'gnuplot' + ou TSV (valeurs spares par des tabulations). Ce fichier peut tre + facilement import dans des programmes comme Gnuplot, IDL, + Mathematica, Igor ou mme Excel. La premire ligne du fichier + contient les noms des valeurs.
    + +
    -h
    +
    Affiche une aide propos de l'utilisation du programme.
    + +
    -H en-tte-personnalis
    +
    Ajoute des en-ttes supplmentaires la requte. L'argument se + prsente sous la forme d'une ligne d'en-tte valide, autrement dit + une paire champ/valeur spars par un caractre ':' (par exemple + "Accept-Encoding: zip/zop;8bit").
    + +
    -i
    +
    Effectue des requtes HEAD plutt que + GET.
    + +
    -k
    +
    Active la fonctionnalit des connexions HTTP persistantes + (KeepAlive), c'est dire effectue plusieurs requtes au cours d'une + seule session HTTP. Cette fonctionnalit est dsactive par + dfaut.
    + +
    -n requtes
    +
    Nombre de requtes effectuer au cours du test de performances. + Par dfaut, une seule requte est effectue, ce qui ne permet pas + d'obtenir des rsultats reprsentatifs.
    + +
    -p fichier-POST
    +
    Fichier contenant les donnes pour les requtes POST. + Assurez-vous de spcifier aussi le paramtre -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 + spars par un simple caractre : et envoys sur le + rseau cods en base64. La chane est envoye, 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 requtes sont traites, ab + affiche la progression du traitement sur stderr tous + les 10% du nombre total ou toutes les 100 requtes. Le drapeau + -q permet de supprimer ces messages.
    + +
    -r
    +
    Ne s'arrte pas en cas d'erreur de rception sur la connexion.
    + +
    -s timeout
    +
    Temps d'attente maximal du socket. La valeur par défaut est de + 30 secondes.
    + +
    -S
    +
    N'affiche ni les valeurs de dviation standards et mdianes, ni + les messages d'erreur et d'avertissement lorsque les valeurs + mdianes et moyennes sont gales une ou deux fois la valeur de + dviation standard. Par dfaut les valeurs mini/moyenne/maxi sont + affiches (option historique).
    + +
    -t limite-dure
    +
    Dure 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 + dure fixe l'avance. Par dfaut, il n'y a pas de limite de + dure.
    + +
    -T type-contenu
    +
    Valeur de l'en-tte Content-type utiliser pour les donnes + POST/PUT, par exemple + application/x-www-form-urlencoded. + Valeur par dfaut : text/plain.
    + +
    -u fichier PUT
    +
    Fichier contenant des donnes PUT. Ne pas oublier de spcifier + aussi -T.
    + +
    -v verbosit
    +
    Dfinit le niveau de verbosit - les niveaux 4 et + suprieurs permettent d'afficher des informations propos des + en-ttes, les niveaux 3 et suprieurs les codes de + rponse (404, 200, etc...), et les niveaux 2 et + suprieurs les messages d'avertissement et d'information.
    + +
    -V
    +
    Affiche le numro de version et s'arrte.
    + +
    -w
    +
    Affiche les rsultats dans des tables HTML. La table par dfaut + comporte deux colonnes sur fond blanc.
    + +
    -x <table>-attributs
    +
    La chane utiliser comme attributs pour + <table>. Les attributs sont insrs + <table ici >.
    + +
    -X mandataire[:port]
    +
    Utilise un serveur mandataire pour les requtes.
    + +
    -y <tr>-attributs
    +
    La chane utiliser comme attributs pour + <tr>.
    + +
    -z <td>-attributs
    +
    La chane utiliser comme attributs pour + <td>.
    + +
    -Z algorithme-chiffrement
    +
    Spcifie l'algorithme de chiffrement SSL/TLS (Voir les + algorithme de chiffrement openssl).
    +
    +
    top
    +
    +

    Sortie

    +

    Vous trouverez dans ce qui suit la liste des valeurs retournes + par ab : +

    + +
    +
    Server Software
    +
    La valeur, si elle existe, de l'en-tte HTTP + server renvoye dans la premire rponse russie. + Elle comporte tous les caractres de l'en-tte jusqu' ce qu'un + caractre de valeur dcimale 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 + spcifie aucun port, le port par dfaut sera 80 pour http et 443 + pour https.
    + +
    SSL/TLS Protocol
    +
    Les paramtres de protocole ngocis entre le client et le + serveur. Uniquement si SSL est utilis.
    + +
    Document Path
    +
    L'URI de la requte interprt partir de la chane de la + ligne de commande.
    + +
    Document Length
    +
    Il s'agit de la taille en octets du premier document renvoy + avec succs. Si la taille du document est modifie au cours + du test, la rponse est considre comme une erreur.
    + +
    Concurrency Level
    +
    Le nombre de clients simultans utiliss au cours du test.
    + +
    Time taken for tests
    +
    Il s'agit du temps coul entre le moment de la premire + connexion au socket et la rception de la dernire + rponse.
    + +
    Complete requests
    +
    Le nombre de rponses reues avec succs.
    + +
    Failed requests
    +
    Le nombre de requtes considres comme errones. Si ce + nombre est diffrent de 0, une ligne supplmentaire indiquera le + nombre de requtes ayant chou suite un problme de + connexion, de lecture, de taille de contenu errone ou + d'exceptions.
    + +
    Write errors
    +
    Le nombre d'erreurs rencontres en cours d'criture (broken pipe).
    + +
    Non-2xx responses
    +
    Le nombre de rponses dont le code tait en dehors de la + srie 200. Si toutes les rponses appartiennent la srie 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 envoys au cours du test. Ce champ est omis si le + test ne prvoyait pas d'envoi de corps.
    + +
    Total transferred
    +
    Le nombre total d'octets reus du serveur. Ce nombre + correspond peu prs au nombre d'octets envoys sur la ligne.
    + +
    HTML transferred
    +
    Le nombre total d'octets utiles (contenus) reus du serveur. + Ce nombre n'inclut pas les octets correspondant aux en-ttes + HTTP.
    + +
    Requests per second
    +
    Il s'agit du nombre de requtes par seconde. Il correspond + au nombre de requtes divis par la dure totale du traitement.
    + +
    Time per request
    +
    La dure moyenne du traitement d'une requte. La premire + valeur est calcule selon la formule concurrency * + timetaken * 1000 / done, alors que la seconde valeur est + calcule 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 dclars statiquement. + Combin avec l'interprtation poussive des arguments de la ligne de + commande, les en-ttes de rponse du serveur et autres entres + externes, ceci peut vous affecter.

    + +

    HTTP/1.x n'est pas compltement implment ; seules certaines + formes de rponses 'attendues' sont acceptes. L'utilisation + relativement intense de strstr(3) provoque un affichage + en tte de profil, ce qui peut faire croire un problme de + performances ; en d'autres termes, vous mesurez les performances de + ab plutt 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 9cdfc497..6f5629a7 100644 --- a/docs/manual/programs/ab.html.ko.euc-kr +++ b/docs/manual/programs/ab.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    ab - ġ ɰ˻

    @@ -198,6 +199,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -218,7 +220,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/ab.html'; } })(window, document); //-->
    + + + +
    <-
    +

    apachectl - L'interface de contrle du serveur HTTP + Apache

    +
    +

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

    +
    + +

    apachectl est un frontal pour le serveur HTTP + Apache. Il a t conu pour aider l'administrateur contrler le + fonctionnement du dmon Apache httpd.

    + +

    Le script apachectl possde deux modes de + fonctionnement. Il peut fonctionner en tant que simple frontal + de la commande httpd et ne fait alors que + dfinir toute variable d'environnement ncessaire, 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 appropris pour le dmon + httpd.

    + +

    Si votre installation d'Apache utilise des chemins non + standards, vous devrez diter le script apachectl afin + de dfinir les chemins appropris pour le binaire + httpd. Vous pouvez aussi spcifier tout argument + de ligne de commande de httpd ncessaire. Voir + les commentaires dans le script pour plus de dtails.

    + +

    Le script apachectl renvoie une valeur gale 0 en + cas de succs, et une valeur suprieure 0 en cas de problme. + Voir les commentaires dans le script pour plus de dtails.

    +
    + +
    top
    +
    +

    Rsum

    + +

    En mode frontal (pass-through), apachectl peut spcifier +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 dfinis ci-dessous.

    + +

    apachectl commande

    + +
    top
    +
    +

    Options

    + +

    Seules les options du style initialisation SysV sont dcrites ici. +Les autres arguments sont dcrits dans la page de manuel de +httpd.

    + +
    + +
    start
    + +
    Dmarre le dmon Apache httpd. Renvoie une erreur +s'il est dj en cours d'excution. quivalent apachectl -k +start.
    + +
    stop
    + +
    Arrte le dmon Apache httpd. quivalent +apachectl -k stop.
    + +
    restart
    + +
    Redmarre le dmon Apache httpd. Si le dmon +n'est pas en cours d'excution, il est dmarr. Cette option vrifie +automatiquement les fichiers de configuration (de la mme manire que +l'option configtest ) avant de lancer le redmarrage, afin +d'tre sr que le fonctionnement du dmon 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 systme. L'URL utilise pour accder au rapport d'tat peut +tre modifie en dfinissant la variable STATUSURL dans le +script.
    + +
    status
    + +
    Affiche un rapport d'tat succinct. Similaire l'option +fullstatus, except que la liste des requtes en cours de +traitement est omise.
    + +
    graceful
    + +
    Redmarre le dmon Apache httpd en douceur. Si le +dmon n'est pas en cours d'excution, il est dmarr. la diffrence +d'un redmarrage normal, les connexions en cours ne sont pas fermes. +Comme effet de bord, les anciens fichiers journaux ne seront pas ferms +immdiatement. Cela signifie que si l'on utilise un script de rotation +des journaux, un dlai suffisant sera ncessaire afin d'tre sr que les +fichiers journaux seront bien ferms avant leur traitement par le script +de rotation. Cette option vrifie +automatiquement les fichiers de configuration (de la mme manire que +l'option configtest ) avant de lancer le redmarrage, afin +d'tre sr que le fonctionnement du dmon ne sera pas compromis. +quivalent apachectl -k graceful.
    + +
    graceful-stop
    + +
    Arrte le dmon Apache httpd en douceur. la +diffrence d'un arrt normal, les connexions en cours ne sont pas +fermes. Comme effet de bord, les anciens fichiers journaux ne seront +pas ferms immdiatement. quivalent apachectl -k +graceful-stop.
    + +
    configtest
    + +
    Effectue une vrification 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 dtailles +propos des ventuelles erreurs de syntaxe. Equivalent apachectl +-t.
    + +
    + +

    Les options suivantes taient disponibles dans les anciennes versions +et ont t supprimes.

    + +
    + +
    startssl
    + +
    Pour dmarrer httpd avec le support SSL, vous +devez diter votre fichier de configuration et y inclure les +directives appropries, puis utiliser la commande de dmarrage 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 5a263be6..b7191523 100644 --- a/docs/manual/programs/apachectl.html.ko.euc-kr +++ b/docs/manual/programs/apachectl.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    apachectl - ġ ̽

    @@ -141,6 +142,7 @@ Ok
    Ȥ
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -161,7 +163,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/apachectl.h } })(window, document); //-->
    + + + +
    <-
    +

    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'excution du serveur Apache via la + directive LoadModule du + module mod_so.

    + +

    Pour pouvoir utiliser ce mcanisme 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 vrifier + vous-mme ces prrequis en excutant manuellement la commande :

    + +

    + $ httpd -l +

    + +

    Le module mod_so doit faire partie de la liste + des modules affiche. Si ces prrequis sont prsents, vous pouvez + facilement tendre les fonctionnalits de votre serveur Apache en + installant vos propres modules l'aide de l'utilitaire + apxs, via le mcanisme 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 mme une archive de + bibliothques (.a). L'utilitaire apxs reconnat + 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 prcompils, assurez-vous que leur code soit + indpendant 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 vrifiez les drapeaux qu'apxs + utilise pour compiler les fichiers objets.

    + +

    Pour plus de dtails propos du support DSO dans Apache, lire la + documentation du module mod_so, ou mme, 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 ] + requte ...

    + +

    apxs -c + [ -S nom=valeur ] + [ -o fichier-dso ] + [ -I rpertoire-inc ] + [ -D nom=valeur ] + [ -L rpertoire-lib ] + [ -l nom-bibliothque ] + [ -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
    +
    Dfinit explicitement le nom du module pour les options + -i (install) et -g (gnration de + modles). Utilisez cette option pour spcifier de manire + explicite le nom du module. Pour l'option -g, cette + option est ncessaire ; pour l'option -i, + l'utilitaire apxs tente de dterminer le nom du + module partir des sources, ou ( dfaut) en le dduisant du nom + de fichier.
    +
    + + +

    Options de requte

    +
    +
    -q
    +
    Effectue une requte propos des variables et de + l'environnement utiliss pour compiler httpd. + Lorsqu'elle est invoque sans paramtre requte, cette + option affiche toutes les variables connues, ainsi que leurs + valeurs. Le paramtre optionnel -v formate la liste + affiche. + +

    Utilisez cette option pour dterminer manuellement les options + utilises pour compiler le binaire httpd qui chargera + votre module. Ajoutez par exemple

    +

    + INC=-I`apxs -q INCLUDEDIR` +

    + +

    dans vos propres Makefiles si vous devez accder manuellement + aux fichiers d'en-ttes C d'Apache.

    +
    + + +

    Options de configuration

    +
    +
    -S nom=valeur
    +
    Cette option permet de modifier la configuration d'apxs + dcrite ci-dessus.
    +
    + + +

    Option de gnration des + modles

    +
    +
    -g
    +
    Cette option permet de gnrer un sous-rpertoire + 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 modle pour crer ses propres modules, ou comme + point de dpart pour se familiariser avec le mcanisme 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 opration de compilation. Tout + d'abord, les fichiers sources (.c) spcifis par + fichiers sont compils 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) + spcifis par fichiers. Si l'option -o + n'est pas spcifie, le nom du fichier rsultant est dduit du + premier nom de fichier spcifi par fichiers, et ainsi + prend en gnral pour valeur par dfaut + mod_nom.so.
    + +
    -o fichier-dso
    +
    Spcifie de manire explicite le nom de fichier de l'objet + partag dynamiquement cr. Sans cette option, et si le nom ne + peut pas tre dduit de la liste fichiers, c'est le nom + par dfaut 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 + dfinitions au processus de compilation.
    + +
    -I rpertoire-inc
    +
    Cette option est transmise directement la commande de + compilation. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des rpertoires include au processus de + compilation.
    + +
    -L rpertoire-lib
    +
    Cette option est transmise directement la commande d'dition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + chemins de recherche des rpertoires de bibliothques au processus + de compilation.
    + +
    -l nom-bibliothque
    +
    Cette option est transmise directement la commande d'dition + de liens. Vous pouvez l'utiliser pour ajouter vos propres + bibliothques rechercher au processus de compilation.
    + +
    -Wc,options-compilation
    +
    Cette option transmet les options-compilation en + tant qu'options supplmentaires la commande libtool + --mode=compile. Vous pouvez l'utiliser pour ajouter des + options locales spcifiques au compilateur.
    + +
    -Wl,options-edition-liens
    +
    Cette option transmet les options-edition-liens en + tant qu'options supplmentaires la commande libtool + --mode=link. Vous pouvez l'utiliser pour ajouter des + options locales spcifiques l'diteur de liens.
    +
    + + +

    Options d'installation et de configuration DSO

    + +
    +
    -i
    +
    Cette option indique une opration d'installation et installe + un ou plusieurs objets dynamiquement partags dans le rpertoire + 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 dj.
    + +
    -A
    +
    Identique l'option -a, la diffrence que la + directive LoadModule cre + est prfixe par un caractre dise (#) ; le module + est ainsi prpar pour une activation ultrieure, mais est + dsactiv dans un premier temps.
    + +
    -e
    +
    Cette option indique une opration d'dition de liens et peut + tre utilise avec les options -a et -A + de la mme manire qu'au cours de l'opration 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 fonctionnalits 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'excution, 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 vrifier la configuration d'Apache en vous + assurant qu'une directive LoadModule est bien prsente pour + charger cet objet partag. Pour simplifier cette tape, + apxs propose une mthode automatique d'installation de + l'objet partag dans son rpertoire "modules", et de mise jour du + fichier httpd.conf en consquence. Pour bnficier 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 ajoute au fichier de configuration si ce n'est pas + dj fait. Si vous voulez que le module soit dsactiv par dfaut, + utilisez l'option -A comme suit :

    + +

    + $ apxs -i -A mod_foo.c +

    + +

    Pour un test rapide du mcanisme apxs, vous pouvez crer un + exemple de modle 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 immdiatement 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index b19e31fe..5673df06 100644 --- a/docs/manual/programs/apxs.html.ko.euc-kr +++ b/docs/manual/programs/apxs.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    apxs - APache eXtenSion

    @@ -321,6 +322,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -341,7 +343,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/apxs.html'; } })(window, document); //-->
    + + + +
    <-
    +

    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 spcifique. De nombreuses options + vous permettent de compiler un serveur correspondant vos propres + besoins.

    + +

    Ce script, situ dans le rpertoire racine de la distribution des + sources, ne concerne que la compilation sur les systmes Unix et + apparents. Pour les autres plates-formes, voir la documentation spcifique de ces + dernires.

    +
    + +
    top
    +
    +

    Rsum

    +

    Vous devez appeler le script configure depuis le + rpertoire racine de la distribution.

    + +

    ./configure [OPTION]... + [VARIABLE=VALEUR]...

    + +

    Pour dfinir 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 rsultats des tests seront mis en cache dans le fichier + FICHIER. Cette option est dsactive par dfaut.
    + +
    -h
    +
    --help [short|recursive]
    +
    Affichage de l'aide et sortie du script. Avec l'argument + short, seules les options spcifiques ce paquet + seront affiches. L'argument recursive permet + d'afficher l'aide de tous les paquets inclus.
    + +
    -n
    +
    --no-create
    +
    Le script configure s'excute normalement, mais + ne cre pas les fichiers rsultants. Ceci permet de vrifier les + rsultats des tests avant de gnrer les fichiers makefile pour la + compilation.
    + +
    -q
    +
    --quiet
    +
    Les messages checking ... ne sont pas affichs au + cours du processus de configuration.
    + +
    --srcdir=DIR
    +
    Dfinit le rpertoire DIR comme rpertoire des + fichiers sources. Par dfaut, c'est le rpertoire o se situe le + script configure, ou le rpertoire parent.
    + +
    --silent
    +
    Identique --quiet
    + +
    -V
    +
    --version
    +
    Affichage des informations de copyright et sortie du + script.
    +
    + + +

    Rpertoires + d'installation

    + +

    Ces options permettent de spcifier le rpertoire d'installation. + L'arborescence de l'installation dpend de l'organisation (layout) + slectionne.

    + +
    +
    --prefix=PREFIX
    +
    Installe les fichiers indpendants de l'architecture dans + PREFIX. Par dfaut, le rpertoire d'installation est + /usr/local/apache2.
    + +
    --exec-prefix=EPREFIX
    +
    Installe les fichiers dpendants de l'architecture dans + EPREFIX. La valeur par dfaut de cette option + correspond la valeur dfinie par l'option + --prefix.
    +
    + +

    Par dfaut, make install va installer tous les + fichiers dans /usr/local/apache2/bin, + /usr/local/apache2/lib, etc... Vous pouvez cependant + spcifier un prfixe d'installation autre que + /usr/local/apache2 en utilisant l'option + --prefix (par exemple --prefix=$HOME).

    + +

    Spcifier une organisation (layout) des + rpertoires

    +
    +
    --enable-layout=LAYOUT
    +
    Configure le code source et les scripts de compilation de + faon ce que l'arborescence d'installation adopte + l'organisation LAYOUT. Ceci vous permet de spcifier + des chemins spars 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 crer vos propres configurations + personnalises en vous basant sur ces exemples. Les diffrentes + organisations contenues dans ce fichier sont enregistres sous + forme de sections <Layout + FOO>...</Layout> et rfrences dans ce cas par + le nom FOO. L'organisation par dfaut + est Apache.
    +
    + + +

    Configuration avance des + rpertoires d'installation

    + +

    Pour une dfinition plus prcise des rpertoires + d'installation, utilisez les options ci-dessous. Notez que les + rpertoires par dfaut sont dfinis par autoconf, et + que leurs valeurs sont crases par les valeurs correspondantes + dfinies lors du choix de l'organisation des rpertoires + (layout).

    + +
    +
    --bindir=DIR
    +
    Installe les excutables utilisateur dans DIR. + Les excutables utilisateur sont des programmes support comme + htpasswd, dbmmanage, + etc..., et destins aux administrateurs du site. Par dfaut, + DIR est dfini + EPREFIX/bin.
    + +
    --datadir=DIR
    +
    Installe les donnes non modifiables indpendantes de + l'architecture dans DIR. Par dfaut, + datadir est dfini + PREFIX/share. Cette option est fournie + par autoconf et actuellement inutilise.
    + +
    --includedir=DIR
    +
    Installe les fichiers d'en-ttes C dans DIR. Par + dfaut, includedir est dfini + EPREFIX/include.
    + +
    --infodir=DIR
    +
    Installe la documentation info dans DIR. Par + dfaut, infodir est dfini + PREFIX/info. Cette option est + actuellement inutilise.
    + +
    --libdir=DIR
    +
    Installe les fichiers objet des bibliothques dans + DIR. Par dfaut, libdir est dfini + EPREFIX/lib.
    + +
    --libexecdir=DIR
    +
    Installe les excutables du programme (autrement dit les + modules partags) dans DIR. Par dfaut, + libexecdir est dfini + EPREFIX/modules.
    + +
    --localstatedir=DIR
    +
    Installe les donnes temporaires modifiables spcifiques + la machine dans + DIR. Par dfaut, localstatedir est + dfini PREFIX/var. Cette option est + fournie par autoconf et est actuellement + inutilise.
    + +
    --mandir=DIR
    +
    Installe les pages de manuel dans DIR. Par + dfaut, mandir est dfini + EPREFIX/man.
    + +
    --oldincludedir=DIR
    +
    Installe les fichiers d'en-ttes C pour les programmes + autres que gcc dans DIR. Par dfaut, + oldincludedir est dfini + /usr/include. Cette option est fournie par + autoconf et est actuellement inutilise.
    + +
    --sbindir=DIR
    +
    Installe les excutables de l'administrateur systme dans + DIR. Ce sont les programmes du serveur comme + httpd, apachectl, + suexec, etc..., qui sont ncessaires + l'excution du serveur HTTP Apache. Par dfaut, + sbindir est dfini + EPREFIX/sbin.
    + +
    --sharedstatedir=DIR
    +
    Installe les donnes modifiables indpendantes de + l'architecture dans DIR. Par dfaut, + sharedstatedir est dfini + PREFIX/com. Cette option est fournie par + autoconf et est actuellement inutilise.
    + +
    --sysconfdir=DIR
    +
    Installe les donnes non modifiables spcifiques la + machine comme les fichiers de configuration du serveur + httpd.conf, mime.types, etc... dans + DIR. Par dfaut, sysconfdir est dfini + PREFIX/conf.
    +
    + + + +

    Types de systmes

    + +

    Ces options sont utilises pour la compilation croise du serveur + HTTP Apache afin de pouvoir l'utiliser sur une autre plateforme matrielle. + Dans le cas gnral o la compilation et l'excution du serveur ont lieu sur + le mme systme, ces options ne sont pas utilises.

    + +
    +
    --build=BUILD
    +
    Dfinit le type du systme sur lequel les outils sont + compils. Par dfaut, il s'agit de la chane renvoye par le + script config.guess.
    + +
    --host=HOST
    +
    Dfinit le type du systme sur lequel le serveur s'excutera. + Par dfaut, HOST est identique BUILD.
    + +
    --target=TARGET
    +
    Configure les compilateurs de build pour le type de + systme TARGET. Par dfaut, TARGET est + identique HOST. Cette option est fournie par + autoconf et n'est pas requise par le serveur HTTP + Apache.
    +
    + + +

    Fonctionnalits + optionnelles

    + +

    Ces options vous permettent de configurer avec prcision les + fonctionnalits de votre futur serveur HTTP.

    + +

    Syntaxe gnrale

    +

    D'une manire gnrale, vous pouvez utiliser la syntaxe + suivante pour activer ou dsactiver une fonctionnalit :

    + +
    +
    --disable-FONCTIONNALITE
    +
    Dsactive la fonctionnalit FONCTIONNALITE. + Identique + --enable-FONCTIONNALITE=no.
    + +
    --enable-FONCTIONNALITE[=ARG]
    +
    Active la fonctionnalit FONCTIONNALITE. La + valeur par dfaut de ARG est yes.
    + +
    --enable-MODULE=shared
    +
    Le module spcifi sera compil en tant que module DSO. Par + dfaut, les modules activs sont lis dynamiquement.
    + +
    --enable-MODULE=static
    +
    Le module correspondant sera li statiquement.
    +
    + +

    Note

    + Si vous spcifiez --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 compils par dfaut et ils doivent tre + dsactivs de manire explicite ou via les mots-cls + few ou none (voir ci-dessous + --enable-modules, --enable-mods-shared + et --enable-mods-static pour une explication plus + dtaille).

    + +

    Par dfaut, les autres modules ne sont pas compils et doivent + tre activs explicitement, ou en utilisant les mots-cls + all ou reallyall pour tre disponibles.

    + +

    Pour dterminer quels modules sont compils par dfaut, + excutez la commande ./configure -h ou + ./configure --help, et consultez les Optional + Features. Par exemple, supposons que vous soyez intress + 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 + dfaut, et vous devez spcifier --disable-example1 + si vous ne voulez pas le compiler. Par contre, le module + mod_example2 est dsactiv par dfaut, et vous + devez spcifier --enable-example2 si vous voulez le + compiler.

    + + + +

    Modules Multi-Processus

    +

    Les Modules Multi-Processus, ou MPMs, + constituent le coeur du serveur. Un et un seul MPM doit tre actif pour + que le serveur puisse fonctionner. Vous trouverez la liste des + MPMs disponibles la page d'index des modules.

    + +

    Les MPMs peuvent tre compils en tant que modules DSO pour un + chargement dynamique, ou lis statiquement avec le serveur, et + sont activs via les options suivantes :

    + +
    +
    --with-mpm=MPM
    +
    +

    Slectionne le MPM par dfaut pour votre serveur. Si les + MPMs sont compils en tant que modules DSO (voir + --enable-mpms-shared), cette option spcifie le + MPM qui sera charg par dfaut selon le fichier de + configuration. Dans le cas contraire, cette option spcifie le + seul MPM disponible qui sera li statiquement avec le + serveur.

    +

    Si cette option est omise, c'est le MPM par dfaut pour votre + systme d'exploitation qui sera utilis.

    +
    + +
    --enable-mpms-shared=Liste de MPM
    +
    +

    Dfinit une liste de MPMs compiler en tant que modules + dynamiquement partags (DSO). Un de ces modules doit tre + charg dynamiquement via la directive LoadModule.

    +

    Liste de MPM est une liste, entoure + d'apostrophes, de noms de MPM spars par des espaces. Par + exemple :

    +

    + --enable-mpms-shared='prefork worker' +

    +

    Vous pouvez aussi utiliser le mot-cl all, ce + qui aura pour effet de spcifier tous les MPMs qui supportent + le chargement dynamique sur la plate-forme considre, 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 lis statiquement. Le fichier source du module + fichier-module sera recherch dans le sous-rpertoire + type-module de l'arborescence des sources de votre + serveur HTTP Apache. S'il ne l'y trouve pas, + configure considrera fichier-module + comme un chemin de fichier absolu et essaiera de copier le + fichier source dans le sous-rpertoire type-module. + Si ce sous-rpertoire n'existe pas, il sera cr et un fichier + Makefile.in standard y sera enregistr.

    +

    Cette option est conue 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 manire + dynamique au lieu de statique), utilisez le programme + apxs.
    +
    + +
    + + +

    Options cumulatives et autres + options

    +
    +
    --enable-maintainer-mode
    +
    Active les avertissements de dbogage et de compilation et + charge tous les modules compils.
    + +
    --enable-mods-shared=LISTE-MODULES
    +
    +

    Dfinit une liste de modules activer et compiler en + tant que modules dynamiques partags. Cela signifie que ces + modules doivent tre chargs dynamiquement en utilisant la + directive LoadModule.

    +

    LISTE-MODULES est une liste, entoure + d'apostrophes, de noms de modules + spars par des espaces. Les noms + des modules sont spcifis sans le prfixe mod_. + Par exemple :

    +

    + --enable-mods-shared='headers rewrite dav' +

    +

    Vous pouvez aussi utiliser les mots-cls reallyall, + all, most, few et + none. 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 dfaut correspond au mot-cl most.

    + +

    Les directives LoadModule correspondant aux + diffrents modules choisis sont automatiquement gnres dans + le fichier de configuration principal. Par dfaut, toutes ces + directives sont mises en commentaire, sauf pour les modules + requis ou ceux explicitement slectionns par un argument + --enable-nom-module du script configure. Vous + pouvez modifier le jeu de modules charg en activant ou + dsactivant les directives LoadModule dans le fichier + httpd.conf. En outre, les directives LoadModule peuvent tre actives + pour tous les modules compils via l'option + --enable-load-all-modules du script configure.

    +

    Avertissement : + --enable-mods-shared=all ne compile pas vraiment + tous les modules. En fait, pour compiler tous les modules, il + faut utiliser :

    +

    + ./configure \
    + + --with-ldap \
    + --enable-mods-shared="all ssl ldap cache proxy authn_alias file_cache authnz_ldap charset_lite dav_lock disk_cache" +
    +

    +
    + +
    --enable-mods-static=MODULE-LIST
    +
    Cette option produit le mme effet que l'option + --enable-mods-shared, l'exception que les modules + seront lis statiquement. Cela signifie que les modules + spcifis seront toujours disponibles au cours du fonctionnement + de httpd. Ils n'ont pas besoin d'tre chargs + via la directive LoadModule.
    + +
    --enable-modules=MODULE-LIST
    +
    Cette option se comporte comme + --enable-mods-shared, et va galement lier les modules + concerns dynamiquement. Le mot-cl spcial none + dsactive la compilation de tous les modules.
    + +
    --enable-v4-mapped
    +
    Permet aux sockets IPv6 de traiter les connexions IPv4.
    + +
    --with-port=PORT
    +
    Permet de dfinir le port TCP sur lequel le programme + httpd va couter. Ce numro de port est + utilis lors de la gnration du fichier de configuration + httpd.conf. Sa valeur par dfaut est 80.
    + +
    --with-program-name
    +
    Permet de dfinir un nom d'excutable alternatif. Le nom par + dfaut est httpd.
    +
    + + + +

    Paquets optionnels

    +

    Ces options permettent de dfinir des paquets optionnels.

    + +

    Syntaxe gnrale

    +

    D'une manire gnrale, vous pouvez utiliser la syntaxe + suivante pour dfinir un paquet optionnel :

    + +
    +
    --with-PAQUET[=ARG]
    +
    Utilise le paquet PAQUET. La valeur par dfaut 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 trs utile pour + le serveur HTTP Apache.
    +
    + + + + +

    Paquets spcifiques

    +
    +
    --with-apr=REP|FICHIER
    +
    La Bibliothque pour la portabilit + d'Apache ou + Apache Portable Runtime (APR) fait partie de la + distribution des sources de httpd et est compile + automatiquement avec le serveur HTTP. Si vous voulez utiliser + une APR dj installe la place, vous devez indiquer + configure le chemin du script + apr-config. Vous pouvez spcifier le chemin absolu + et le nom ou le rpertoire d'installation de l'APR. + apr-config doit se trouver dans ce rpertoire ou + dans le sous-repertoire bin.
    + +
    --with-apr-util=REP|FICHIER
    +
    Les utilitaires pour la Bibliothque pour la portabilit + d'Apache ou Apache Portable Runtime Utilities (APU) font partie de la + distribution des sources de httpd et sont compils + automatiquement avec le serveur HTTP. Si vous voulez utiliser + des APU dj installs la place, vous devez indiquer + configure le chemin du script + apu-config. Vous pouvez spcifier le chemin absolu + et le nom ou le rpertoire d'installation des APU. + apu-config doit se trouver dans ce rpertoire ou + dans le sous-repertoire bin.
    + +
    --with-ssl=REP
    +
    Si mod_ssl a t activ, + configure recherche une installation d'OpenSSL. + Vous pouvez dfinir le rpertoire de la bote outils SSL/TLS + la place.
    + +
    --with-z=REP
    +
    configure recherche automatiquement une + bibliothque zlib installe si la configuration de + vos sources en ncessite une (par exemple lorsque + mod_deflate est activ). Vous pouvez dfinir le + rpertoire de la bibliothque de compression la place.
    +
    + +

    De nombreuses fonctionnalits du serveur HTTP Apache, y compris + les directives RewriteMap DBM de + mod_rewrite et mod_authn_dbm + utilisent une base de donnes 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 donnes, utilisez + les options suivantes afin de les activer :

    + +
    +
    --with-gdbm[=chemin]
    +
    Si aucun chemin n'est spcifi, + configure va rechercher les fichiers d'en-ttes et + les bibliothques d'une installation DBM GNU dans les chemins + standards. Avec un chemin explicite, + configure recherchera les fichiers concerns dans + chemin/lib et + chemin/include. En fait, + chemin permet de spcifier plusieurs chemins + d'en-ttes et bibliothques spcifiques en les sparant par des + caractres ':'.
    + +
    --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 passes en + paramtres son script de configuration. Elles sont inutiles + lorsqu'on utilise des APU dj installs dfinis par + --with-apr-util.

    +

    Vous pouvez utiliser plusieurs implmentations DBM avec votre + serveur HTTP. Le type DBM appropri sera choisi au cours de la + configuration de l'excution chaque dmarrage.

    +
    + + + +

    Options pour les programmes de + support

    +
    +
    --enable-static-support
    +
    Permet de compiler une version des binaires de support lis + statiquement. En d'autres termes, la compilation produira un + excutable indpendant comportant toutes les bibliothques + ncessaires. Sans cette option, les binaires de supports sont lis + dynamiquement.
    + +
    --enable-suexec
    +
    Utilisez cette option pour activer la programme + suexec, qui vous permet de dfinir un uid et un + gid pour les processus lancs. N'utilisez cette option que + si vous matrisez toutes les implications en matire de scurit + de l'excution d'un binaire suid sur votre serveur. + D'autres options permettent de configurer + suexec comme dcrit 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 lie statiquement du programme + ab.
    + + +
    --enable-static-checkgid
    +
    >Compile une version lie statiquement du programme + checkgid.
    + +
    --enable-static-htdbm
    +
    Compile une version lie statiquement du programme htdbm.
    + +
    --enable-static-htdigest
    +
    Compile une version lie statiquement du programme htdigest.
    + +
    --enable-static-htpasswd
    +
    Compile une version lie statiquement du programme htpasswd.
    + +
    --enable-static-logresolve
    +
    Compile une version lie statiquement du programme logresolve.
    + +
    --enable-static-rotatelogs
    +
    Compile une version lie statiquement du programme rotatelogs.
    +
    + +

    Options de configuration de suexec

    + +

    Les options suivantes permettent de dfinir avec prcision le + comportement du programme suexec. Voir Configurer et installer suEXEC + pour plus de dtails.

    + +
    +
    --with-suexec-bin
    +
    Dfinit le chemin du binaire suexec. La + valeur par dfaut est --sbindir (voir Dfinition prcise des rpertoires + d'installation).
    + +
    --with-suexec-caller
    +
    Dfinit l'utilisateur qui a l'autorisation d'appeler + suexec. Il est en gnral souhaitable que ce + soit le mme que celui sous lequel httpd + s'excute.
    + +
    --with-suexec-docroot
    +
    Dfinit l'arborescence des rpertoires dans laquelle le + lancement des excutables via suexec est + autoris. La valeur par dfaut est + --datadir/htdocs.
    + +
    --with-suexec-gidmin
    +
    Dfinit la valeur de GID la plus basse autorise comme + valeur cible pour suexec. La valeur par + dfaut est 100.
    + +
    --with-suexec-logfile
    +
    Dfinit le nom du fichier journal de + suexec. La valeur par dfaut est + --logfiledir/suexec_log.
    + +
    --with-suexec-safepath
    +
    Dfinit la valeur de la variable d'environnement + PATH pour les processus lancs par + suexec. La valeur par dfaut est + /usr/local/bin:/usr/bin:/bin.
    + +
    --with-suexec-userdir
    +
    Dfinit le sous-rpertoire du rpertoire utilisateur qui + contient tous les excutables pouvant tre lancs par + suexec. Cette option est ncessaire si vous + souhaitez utiliser suexec avec des + rpertoires utilisateurs (dfinis via + mod_userdir). La valeur par dfaut est + public_html.
    + +
    --with-suexec-uidmin
    +
    Dfinit la valeur d'UID la plus basse autorise comme + valeur cible pour suexec. La valeur par + dfaut est 100.
    + +
    --with-suexec-umask
    +
    Dfinit le masque de permissions umask pour les + processus lancs par suexec. Il correspond + par dfaut au masque dfini par la configuration de votre + systme.
    +
    + + +
    top
    +
    +

    Variables d'environnement

    +

    Certaines variables d'environnement permettent de modifier les + choix effectus par configure, ou d'aider ce dernier + trouver les bibliothques et programmes possdant des noms et chemins + non standards.

    + + +
    +
    CC
    +
    Dfinit la commande du compilateur C utiliser pour la + compilation.
    + +
    CFLAGS
    +
    Dfinit les paramtres du compilateur C que vous voulez utiliser + pour la compilation.
    + +
    CPP
    +
    Dfinit la commande du prprocesseur C utiliser.
    + +
    CPPFLAGS
    +
    Dfinit les paramtres du prprocesseur C/C++, par exemple + -Irpertoire-include, si certains de vos + fichiers d'en-ttes se trouvent dans le rpertoire non standard + rpertoire-include.
    + +
    LDFLAGS
    +
    Dfinit les paramtres de l'diteur de liens, par exemple + -Lrpertoire-lib, si certaines de vos + bibliothques se trouvent dans le rpertoire non standard + rpertoire-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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index dcd4385a..2522b674 100644 --- a/docs/manual/programs/configure.html.ko.euc-kr +++ b/docs/manual/programs/configure.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    configure - ҽ Ʈ Ѵ

    @@ -927,6 +928,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -947,7 +949,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/configure.h } })(window, document); //-->
    + + + +
    <-
    +

    dbmmanage - Gestion des fichiers d'authentification des +utilisateurs au format DBM

    +
    +

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

    +
    + +

    dbmmanage permet de crer et de maintenir les + fichiers au format DBM o sont stocks 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'accs aux ressources disponibles sur le serveur + HTTP Apache aux seuls utilisateurs spcifis dans les fichiers crs + 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 donnes de mots de passe DBM.

    + +

    Cette page de manuel ne dcrit que les arguments de la ligne de + commande. Pour plus de dtails propos des directives ncessaires + 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 gnral sans l'extension + .db, .pag, ou .dir.
    + +
    nom-utilisateur
    +
    L'utilisateur concern par l'opration effectue. Le + nom-utilisateur ne doit pas contenir de caractre + :.
    + +
    mot-de-passe-chiffr
    +
    C'est le mot de passe sous sa forme chiffre 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 caractre (:). 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 rel, sont e-mail, + etc... Le serveur ignore ce champ.
    +
    + +

    Codages

    +
    +
    -d
    +
    chiffrement crypt (chiffrement par dfaut sauf sous Win32, + Netware)
    + +
    -m
    +
    chiffrement MD5 (chiffrement par dfaut sous Win32, + Netware)
    + +
    -s
    +
    chiffrement SHA1
    + +
    -p
    +
    en clair (dconseill)
    +
    + + +

    Commandes

    +
    +
    add
    +
    Ajoute une entre 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 entre pour + nom-utilisateur nom-fichier. + +

    dbmmanage passwords.dat adduser krietz

    +
    + +
    check
    +
    Demande un mot de passe puis vrifie si + nom-utilisateur est prsent dans nom-fichier + et si son mot de passe correspond au mot de passe fourni. + +

    dbmmanage passwords.dat check rbowen

    +
    + +
    delete
    +
    Supprime l'entre nom-utilisateur de + nom-fichier. + +

    dbmmanage passwords.dat delete rbowen

    +
    + +
    import
    +
    Lit les entres + nom-utilisateur:mot-de-passe + (une par ligne) depuis STDIN, et les ajoute + nom-fichier. Les mots de passe doivent tre dj + chiffrs.
    + +
    update
    +
    Identique la commande adduser, l'exception + que la prsence de nom-utilisateur dans + nom-fichier est vrifie. + +

    dbmmanage passwords.dat update rbowen

    +
    + +
    view
    +
    Affiche le contenu du fichier DBM. Si vous spcifiez un + nom-utilisateur, seule l'entre correspondante est + affiche. + +

    dbmmanage passwords.dat view

    +
    +
    + +
    top
    +
    +

    Bogues

    +

    Vous devez garder l'esprit qu'il existe de nombreux formats de + fichiers DBM diffrents, et que selon toute vraisemblance, des + bibliothques pour plus d'un format sont prsentes sur votre + systme. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley DB 2. Malheureusement, toutes ces bibliothques + utilisent des formats de fichiers diffrents, 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 crer un fichier + DBM diffrent avec un nom diffrent, ou au pire, va corrompre le + fichier DBM si vous avez tent de le modifier.

    + +

    dbmmanage possde une liste de prfrences en + matire de formats DBM, dfinies dans le tableau + @AnyDBM::ISA au dbut du programme. Comme nous + prfrons le format de fichier Berkeley DB 2, l'ordre dans lequel + dbmmanage va rechercher les bibliothques systme est + Berkeley DB 2, puis NDBM, GDBM et enfin SDBM. La premire + bibliothque trouve sera celle que dbmmanage tentera + d'utiliser pour toutes les oprations sur les fichiers DBM. Cette + ordre est sensiblement diffrent 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 grer vos fichiers DBM, il doit donc se conformer + l'ordre de prfrence indiqu prcdemment. Vous devez prter la + mme attention si vous utilisez des programmes crits dans d'autres + langages, comme C, pour accder ces fichiers.

    + +

    Vous pouvez utiliser le programme file fourni par la + plupart des systmes Unix pour dterminer 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 804d891c..453101df 100644 --- a/docs/manual/programs/dbmmanage.html.ko.euc-kr +++ b/docs/manual/programs/dbmmanage.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    dbmmanage - DBM Ѵ

    @@ -169,6 +170,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -189,7 +191,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/dbmmanage.h } })(window, document); //-->
    + + + +
    <-
    +

    fcgistarter - Dmarrer un programme FastCGI

    +
    +

    Langues Disponibles:  en  | + fr  | + tr 

    +
    + +

    +

    + +
    top
    +
    +

    Note

    +

    Ne fonctionne actuellement que sur les systmes de type Unix.

    +
    top
    +
    +

    Syntaxe

    +

    fcgistarter + -c commande + -p port + [ -i interface ] + -N nombre +

    +
    top
    +
    +

    Options

    +
    +
    -c commande
    +
    Le 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index a5d42516..0aef385a 100644 --- a/docs/manual/programs/fcgistarter.html.tr.utf8 +++ b/docs/manual/programs/fcgistarter.html.tr.utf8 @@ -22,6 +22,7 @@ Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Programlar

    fcgistarter - Bir FastCGI programını çalıştır

    Mevcut Diller:  en  | + fr  |  tr 

    @@ -64,6 +65,7 @@

    Mevcut Diller:  en  | + fr  |  tr 

    top

    Yorum

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + +
    <-
    +

    htcacheclean - Nettoyage du cache sur disque

    +
    +

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

    +
    + +

    htcacheclean permet de maintenir la taille de + l'espace de stockage rserv mod_disk_cache en + dessous d'une limite de taille donne ou d'inodes utiliss. Cet + utilitaire peut s'excuter + soit manuellement, soit en mode dmon. Lorsqu'il fonctionne en mode + dmon, il se met en attente en arrire-plan et recherche + intervalles rguliers dans le rpertoire du cache les contenus + supprimer. Pour arrter proprement le dmon, vous pouvez lui envoyer + un signal TERM ou INT. Lorsqu'il est lanc manuellement, une + recherche des contenus du cache qui peuvent tre supprims est + effectue une seule fois. Si une ou plusieurs URLs sont spcifies, + chacune d'entre elles sera supprime du cache, si elle est prsente.

    +
    + +
    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 dmon et planifie le nettoyage du cache toutes + les intervalle minutes. Cette option et les options + -D, -v et -r s'excluent + mutuellement. Pour arrter le dmon proprement, il suffit de lui + envoyer un signal SIGTERM ou SIGINT.
    + +
    -D
    +
    Le programme s'excute 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 rpertoires avec + -t, les inodes signals comme supprims dans les + statistiques ne peuvent pas prendre en compte les rpertoires + supprims, et seront marqus en tant qu'estimation.
    + +
    -v
    +
    Excution verbeuse et affichage de statistiques. Cette + option et l'option -d s'excluent mutuellement.
    + +
    -r
    +
    Nettoyage en profondeur. Le serveur web Apache doit tre arrt + (dans le cas contraire, il risque de rester des dchets dans le + cache). Cette option implique l'option -t et s'exclue + mutuellement avec l'option -d.
    + +
    -n
    +
    Excution en retrait. L'excution du programme est ralentie en + faveur des autres processus. htcacheclean s'interrompt + de temps en temps de faon ce que a) les entres/sorties disque + soient retardes et b) que le noyau puisse mettre ce temps + processeur disposition des autres processus.
    + +
    -t
    +
    Supprime tous les rpertoires vides. Par dfaut, seuls les + fichiers sont supprims du cache ; avec certaines configurations, + cependant, un grand nombre de rpertoires sont crs et mritent que + l'on y prte attention. Si votre configuration ncessite un grand + nombre de rpertoires, au point que le remplissage de la table + d'inodes ou d'allocation de fichiers puisse poser problme, + l'utilisation de cette option est conseille.
    + +
    -pchemin
    +
    Dfinit chemin comme rpertoire racine du cache sur + disque. Cette valeur doit correspondre celle spcifie par la + directive CacheRoot.
    + +
    -Pfichier-pid
    +
    Permet de spcifier fichier-pid comme nom du fichier + dans le lequel sera enregistr l'identifiant du processus en mode + dmon.
    + +
    -Rround
    +
    Permet de spcifier le plus petit commun multiple de la taille + du cache, afin de tenir compte de la taille des blocs. Dfinir ce + paramtre la taille d'un bloc de la partition du cache.
    + +
    -llimite
    +
    Dfinit limite comme la taille maximale du cache sur + disque. La valeur s'exprime par dfaut en octets (ou en ajoutant le + suffixe B la valeur). Ajoutez le suffixe + K pour KOctets ou M pour MOctets.
    + +
    -Llimite
    +
    Spcifie limite comme la limite totale en inodes du + cache disque.
    + +
    -i
    +
    Excution intelligente. Le programme ne s'excute 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 stockes dans le cache. + Les variantes de la mme URL seront listes une seule fois par + variante.
    + +
    -A
    +
    Affiche la liste des URLs actuellement stockes 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 particulire

    +

    Si une ou plusieurs URLs sont passes en argument + htcacheclean, chacune d'entre elles sera supprime du + cache. S'il existe plusieurs variantes de ces URLs, elles seront + toutes supprimes.

    + +

    Lorsqu'une URL mandate en inverse doit tre supprime, l'URL + effective est construite partir de l'en-tte + Host, du port, du + chemin et de la requte. Notez que + le '?' doit toujours tre spcifi explicitement dans l'URL, qu'une + chane de paramtres soit prsente ou non. Par exemple, pour + supprimer le chemin / du serveur + localhost, l'URL devra tre spcifie comme suit : + http://localhost:80/?.

    + +
    top
    +
    +

    Affichage des URLs prsentes dans le cache

    +

    Les options -a ou -A permettent + d'afficher les URLs prsentes dans le cache telles qu'elles s'y + trouvent, une URL par ligne. L'option -A affiche + l'entre du cache complte pour chaque URL, avec ses diffrents + champs dans l'ordre suivant :

    + +
    +
    url
    L'URL de l'entre considre.
    +
    header size
    La taille de l'en-tte en octets.
    +
    body size
    La taille du corps en octets.
    +
    status
    Etat de la rponse en cache.
    +
    entity version
    Le nombre de fois que cette entre a + t revalide sans tre efface.
    +
    date
    Date de la rponse.
    +
    expiry
    Date d'expiration de la rponse.
    +
    request time
    Date du dbut de la requte.
    +
    response time
    Date de la fin de la requte.
    +
    body present
    Ce champ contient la valeur 0 si aucun + corps n'est stock avec cette requte, 1 dans le cas contraire.
    +
    head request
    Ce champ contient la valeur 1 si + l'entre comporte une requte HEAD en cache sans corps, 0 dans + le cas contraire.
    +
    + +
    top
    +
    +

    Valeur renvoye

    +

    htcacheclean renvoie zro ("true") si toutes les + oprations se sont droules normalement, et 1 dans le + cas contraire. Si une URL est spcifie, et si cette URL tait + prsente dans le cache et a t supprime avec succs, + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 59e6304f..0a61b282 100644 --- a/docs/manual/programs/htcacheclean.html.ko.euc-kr +++ b/docs/manual/programs/htcacheclean.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    htcacheclean - ũ ij ûѴ

    @@ -110,6 +111,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -130,7 +132,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/htcacheclea } })(window, document); //-->
    + + + +
    <-
    +

    htdbm - Manipuler des bases de donnes DBM de mots de +passe

    +
    +

    Langues Disponibles:  en  | + fr  | + tr 

    +
    + +

    htdbm permet de manipuler des fichiers au format DBM + ou sont stocks 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 dtails 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'oprateur. Cette option doit tre utilise 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 vrification ( utiliser + dans le cadre d'un script).
    + +
    -c
    +
    Cre le fichier-mots-de-passe. Si + fichier-mots-de-passe existe dj, il est rcrit et + tronqu. Cette option ne peut pas tre combine avec l'option + -n.
    + +
    -n
    +
    Affiche les rsultats sur la sortie standard et ne met pas + jour la base de donnes. Cette option modifie la syntaxe de la ligne + de commande, car l'argument fichier-mots-de-passe (en + gnral le premier) est omis. Elle ne peut pas tre combine avec + l'option -c.
    + +
    -m
    +
    Utilise un chiffrement MD5 pour les mots de passe. Sous Windows + et Netware, c'est l'option par dfaut..
    + +
    -B
    +
    Utilise l'algorythme de chiffrement bcrypt pour les mots de + passe. C'est un algorythme actuellement considr comme sr.
    + +
    -C
    +
    Ce drapeau n'est autoris qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de dfinir la dure + de traitement pour l'algorythme de chiffrement bcrypt (plus elle est + longue, plus la scurit est leve, mais la rapidit est diminue + d'autant) ; la valeur par dfaut est 5, les valeurs valides vont de + 4 31.
    + + +
    -d
    +
    Utilise un chiffrement crypt() pour les mots de + passe. C'est l'option par dfaut 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 considr comme non sr 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 considr comme non sr 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 dmon 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 donnes + accompagn de son commentaire sur la sortie standard.
    + +
    -v
    +
    Vrifie 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'arrte et renvoie un code d'erreur 3.
    + +
    -x
    +
    Supprime l'utilisateur. Si le nom d'utilisateur existe dans le + fichier DBM spcifi, il sera supprim.
    + +
    -t
    +
    Interprte le dernier paramtre en tant que commentaire. Avec + cette option, il est possible d'ajouter une chane supplmentaire + la fin de la ligne de commande ; le contenu de cette chane sera + stock dans la base de donnes dans le champ "Comment" associ au + nom d'utilisateur spcifi.
    + +
    nom-fichier
    +
    Le nom du fichier au format DBM en gnral 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 crer ou mettre jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas dans ce fichier, une entre est ajoute. 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 diffrents, et que selon toute vraisemblance, des + bibliothques pour plus d'un format sont prsentes sur votre + systme. Les trois exemples de base sont SDBM, NDBM, le projet GNU + GDBM, et Berkeley/Sleepycat DB 2/3/4. Malheureusement, toutes ces + bibliothques + utilisent des formats de fichiers diffrents, 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 crer un fichier + DBM diffrent avec un nom diffrent, 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 systmes Unix pour dterminer le format d'un fichier + DBM.

    +
    top
    +
    +

    Valeur renvoye

    +

    htdbm renvoie 0 ("true") si les nom d'utilisateur et + mot de passe ont t crs ou mis jour avec succs dans le fichier + DBM. htdbm renvoie 1 s'il a rencontr un + problme d'accs 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'entre considre, 4 si l'opration a t + interrompue, 5 si une valeur est trop longue (nom + utilisateur, nom fichier, mot de passe, ou l'enregistrement aprs + son laboration), 6 si le nom d'utilisateur contient + des caractres illgaux (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'oprateur. 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 systme qui sera utilise. Si le fichier + n'existe pas, htdbm s'arrtera et renverra une + erreur.

    + +

    + htdbm -c /home/doe/public_html/.htdbm jane +

    + +

    Cre un nouveau fichier et y enregistre une entre pour + l'utilisateur jane. Le mot de passe est demand + l'oprateur. 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 spcifi.

    +
    top
    +
    +

    Considrations propos de scurit

    +

    Les fichiers de mots de passe Web tels que ceux que gre + htdbm ne doivent pas tre stocks dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + tre possible d'y accder l'aide d'un navigateur.

    + +

    L'utilisation de l'option -b est dconseille, car + lorsqu'il est utilis, le mot de passe apparat en clair dans la + ligne de commande.

    + +

    Notez que lorsque vous utilisez l'algorythme + crypt(), seuls les 8 premiers caractres du mot de + passe sont pris en compte. Si le mot de passe fourni est plus long, + les caractres supplmentaires seront ignors sans avertissement.

    + +

    L'algorythme SHA ne permet pas de spcifier une valeur + d'initialisation pour la gnration de nombres alatoires (salting) + : un mot de passe donn ne possde ainsi qu'une rprsentation + chiffre. Les algorythmes crypt() et MD5 permettent quant + eux des reprsentations chiffres multiples en acceptant comme + paramtre une chane d'initialisation (salt), rendant les attaques + base de dictionnaires contre les mots de passe plus difficiles.

    + +

    Les algorythmes SHA et crypt() sont considrs comme + non srs selon les standards actuels.

    +
    top
    +
    +

    Restrictions

    +

    Sur la plate-forme Windows, les mots de passe chiffrs avec + htdbm ont une taille limite 255 + caractres. Si le mot de passe fourni est plus long, il sera tronqu + 255 caractres.

    + +

    L'algorithme MD5 utilis par htdbm est spcifique + Apache ; les mots de passe chiffrs en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

    + +

    Les noms d'utilisateurs ont une taille limite 255 + octets et ne doivent pas contenir de caractre :.

    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index f4f37f0f..d0794f67 100644 --- a/docs/manual/programs/htdbm.html.tr.utf8 +++ b/docs/manual/programs/htdbm.html.tr.utf8 @@ -22,8 +22,10 @@ Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Programlar

    htdbm - DBM parola veritabanlarını yönetir

    Mevcut Diller:  en  | + fr  |  tr 

    +
    Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.

    htdbm, mod_authn_dbm üzerinden HTTP kullanıcılarının temel @@ -286,6 +288,7 @@

    Mevcut Diller:  en  | + fr  |  tr 

    top

    Yorum

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + +
    <-
    +

    htdigest - Gestion des fichiers d'utilisateurs pour +l'authentification base de condenss

    +
    +

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

    +
    + +

    htdigest permet de crer et maintenir les fichiers + textes dans lesquels sont stocks des noms d'utilisateurs, des + domaines de protection (realms) et des mots de passe pour + l'authentification base de condenss des utilisateurs HTTP. + L'accs aux ressources du serveur HTTP Apache peut tre limit aux + seuls utilisateurs enregistrs dans les fichiers crs par + htdigest.

    + +

    Cette page de manuel ne dcrit que les arguments de la ligne de + commande. Pour plus de dtails propos des directives ncessaires + la configuration de l'authentification base de condenss 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
    +
    Cre le fichier fichier-mots-de-passe. Si + fichier-mots-de-passe existe dj, 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 spcifie, le fichier est + cr s'il n'existe pas, ou supprim et recr s'il existe + dj.
    + +
    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 dtails.
    + +
    nom-utilisateur
    +
    Le nom d'utilisateur crer ou mettre jour dans le + fichier-mots-de-passe. Si nom-utilisateur est + absent de ce fichier, une nouvelle entre est ajoute. Si + l'utilisateur existe dj, le mot de passe est modifi.
    +
    +
    top
    +
    +

    Considrations propos de scurit

    +

    En tant qu'excutable setuid, ce programme n'est pas sr. En + consquence, 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 739efa2f..2976f578 100644 --- a/docs/manual/programs/htdigest.html.ko.euc-kr +++ b/docs/manual/programs/htdigest.html.ko.euc-kr @@ -24,6 +24,7 @@ Ѵ @@ -72,6 +73,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -92,7 +94,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/htdigest.ht } })(window, document); //-->
    + + + +
    <-
    +

    htpasswd - Gestion des fichiers d'utilisateurs pour +l'authentification de base

    +
    +

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

    +
    + +

    htpasswd permet de crer et de maintenir les + fichiers textes o sont stocks les noms d'utilisateurs et mots de + passe pour l'authentification de base des utilisateurs HTTP. Si + htpasswd rencontre un problme d'accs un fichier, + que ce soit pour crire dans le fichier de sortie, ou pour lire le + fichier d'entre dans le but de le mettre jour, il renvoie un code + d'erreur et n'effectue aucune modification.

    + +

    Il est possible de limiter l'accs aux ressources du serveur HTTP + Apache aux seuls utilisateurs prsents dans les fichiers crs par + htpasswd. Ce programme ne sait grer les noms + d'utilisateurs et mots de passe que s'ils sont stocks 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 + donnes. Pour utiliser une base de donnes DBM, voir le programme + dbmmanage ou htdbm.

    + +

    htpasswd chiffre les mots de passe en utilisant soit + bcrypt, + une version de MD5 modifie pour Apache, soit SHA1, soit la routine + crypt() du systme. Les fichiers grs par + htpasswd peuvent contenir deux types de mots de passe ; + certaines entres peuvent contenir des mots de passe chiffrs en + MD5 ou bcrypt, alors que d'autres entres du mme fichier contiendront des + mots de passe chiffrs avec crypt().

    + +

    Cette page de manuel ne dcrit que les arguments de la ligne de + commande. Pour plus de dtails propos des directives ncessaires + 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/.

    +
    +

    Voir aussi

    • httpd
    • htdbm
    • Les scripts fournis avec la distibution d'Apache et situs dans +support/SHA1.
    +
    top
    +
    +

    Syntaxe

    +

    htpasswd + [ -c ] + [ -i ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] fichier-mots-de-passe nom-utilisateur

    + +

    htpasswd -b + [ -c ] + [ -m | + -B | + -d | + -s | + -p ] + [ -C cost ] + [ -D ] 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'oprateur. Cette + option doit tre utilise 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 vrification ( utiliser + dans les scripts).
    + +
    -c
    +
    Cre le fichier-mots-de-passe. Si + fichier-mots-de-passe existe dj, il est rcrit et + tronqu. Cette option ne peut pas tre combine avec l'option + -n.
    + +
    -n
    +
    Affiche le rsultat du traitement sur la sortie standard au lieu + de mettre jour le fichier. Ceci peut s'avrer utile pour gnrer + des enregistrements de mots de passe qu'Apache pourra utiliser des + fins d'inclusion dans des fichiers de donnes au format autre que + texte. Cette option modifie la syntaxe de la ligne de commande, car + l'argument fichier-mots-de-passe (en gnral le premier) + est omis. Elle ne peut pas tre combine avec l'option + -c option.
    + +
    -m
    +
    Utilise le chiffrement MD5 pour les mots de passe. C'est le + comportement par dfaut.
    + +
    -B
    +
    Utilise bcrypt pour chiffrer les mots de passe. c'est un + algorythme de chiffrement actuellement considr comme sr.
    + +
    -C
    +
    Ce drapeau n'est autoris qu'en conjonction avec le drapeau + -B (chiffrement bcrypt). Il permet de dfinir la dure + de traitement pour l'algorytme bcrypt (plus elle est longue, + meilleure sera la scurit, mais infrieure la rapidit). La valeur + par dfaut est 5 et les valeurs autorises vont de 4 31.
    + + +
    -d
    +
    Utilise le chiffrement crypt() pour les mots de + passe. Cette option n'est pas supporte par le + serveur httpd sous Windows ou Netware. Cet + algorithme limite la longueur des mots de passe 8 caractres ; il + est considr comme non sur du point de vue des + 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 algorithme + est considr comme non sur du point de vue des + standards actuels.
    + +
    -p
    +
    Enregistre les mots de passe en clair. Bien que + htpasswd supporte la cration des mots de passe en + clair sur toutes les plates-formes, le dmon + httpd n'accepte les mots de passe en clair que + sous Windows et Netware.
    + +
    -D
    +
    Supprime un utilisateur, sous rserve qu'il existe dans le + fichier spcifi par htpasswd.
    + +
    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 rcrit et tronqu s'il existe dj.
    + +
    nom-utilisateur
    +
    Le nom d'utilisateur crer ou mettre jour dans le + fichier-mots-de-passe. Si nom-utilisateur + n'existe pas, une nouvelle entre est ajoute. 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 renvoye

    +

    htpasswd renvoie 0 ("true") si le nom d'utilisateur + et le mot de passe ont t enregistrs ou mis jour avec succs + dans le fichier-mots-de-passe. htpasswd + renvoie 1 s'il a rencontr un problme d'accs 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'opration a t interrompue, 5 si + une valeur tait trop longue (nom-utilisateur, nom-fichier, + mot-de-passe, ou l'enregistrement rsultant), 6 si le + nom d'utilisateur contenait des caractres illgaux (voir la section + Restrictions), et 7 si le + fichier spcifi 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'oprateur. Le + mot de passe sera chiffr en utilisant l'algorithme MD5 + modifi pour Apache. Si le fichier spcifi + n'existe pas, htpasswd renverra un code d'erreur.

    + +

    + htpasswd -c /home/doe/public_html/.htpasswd jane +

    + +

    Cre un nouveau fichier de mots de passe et y enregistre une + entre pour l'utilisateur jane. Le mot de passe est + demand l'oprateur. 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 spcifi dans la ligne de commande + (Pwd4Steve) en utilisant l'algorithme + crypt(), et le stocke dans le fichier spcifi.

    +
    top
    +
    +

    Considrations propos de scurit

    +

    Les fichiers de mots de passe Web comme ceux que gre + htpasswd ne doivent pas tre situs dans + l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas + tre possible d'y accder partir d'un navigateur.

    + +

    En tant qu'excutable setuid, ce programme n'est pas sr, et il + ne faut par consquent pas lui attribuer de permissions + setuid.

    + +

    L'utilisation de l'option -b est dconseille, 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 caractres du mot de passe spcifi sont pris en compte. Si + le mot de passe spcifi est plus long, les caractres + supplmentaires sont ignors.

    + +

    Le format de chiffrement SHA n'utilise pas d'amorage alatoire + (salting) : un mot de passe donn correspond une seule + reprsentation chiffre. Les formats crypt() et MD5 + permutent la reprsentation en la prfixant par une chane d'amorce + alatoire, afin de rendre les attaques de mots de passe base de + dictionnaires plus difficiles.

    + +

    Les algorithmes de chiffrement SHA et crypt() + sont considrs comme non surs du point de vue des + standards actuels.

    +
    top
    +
    +

    Restrictions

    +

    Sur les plates-formes Windows, la taille des mots de passe + chiffrs avec htpasswd est limite 255 + caractres. Les mots de passe dont la taille est suprieure seront + tronqus.

    + +

    L'algorithme MD5 utilis par htpasswd est spcifique + Apache ; les mots de passe chiffrs en utilisant cet algorithme + seront inutilisables sur d'autres serveurs Web.

    + +

    La taille des noms d'utilisateurs est limite 255 + octets et ceux-ci ne doivent pas contenir de caractre + :.

    +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index d8548de9..34dcbc6b 100644 --- a/docs/manual/programs/htpasswd.html.ko.euc-kr +++ b/docs/manual/programs/htpasswd.html.ko.euc-kr @@ -24,6 +24,7 @@ Ѵ @@ -214,6 +215,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -234,7 +236,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/htpasswd.ht } })(window, document); //-->
    + + + +
    <-
    +

    httpd - Le serveur HTTP d'Apache

    +
    +

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

    +
    +
    Cette traduction peut tre prime. Vrifiez la version + anglaise pour les changements rcents.
    + +

    httpd est le programme du serveur HTTP d'Apache. Il + a t conu pour fonctionner sous forme de processus dmon + indpendant. Lorsqu'il est utilis ainsi, il va crer un jeu de + processus enfants ou de threads qui traiteront les requtes.

    + +

    En gnral, httpd n'est pas invoqu directement, + mais plutt via apachectl sur les systmes 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 paramtre ] + [ -e niveau ] [ -E + fichier ] + [ -k start|restart|graceful|stop|graceful-stop ] + [ -R rpertoire ] [ -h ] + [ -l ] [ -L ] [ -S ] + [ -t ] [ -v ] [ -V ] + [ -X ] [ -M ] [ -T ] +

    + +

    Sur les systmes Windows, + les options additionnelles suivantes sont disponibles :

    + +

    httpd [ -k + install|config|uninstall ] [ -n nom ] + [ -w ]

    +
    top
    +
    +

    Options

    + +
    +
    -d racine-serveur
    + +
    Dfinit la valeur initiale de la directive ServerRoot racine-serveur. Cette +valeur peut tre crase par la directive ServerRoot du fichier de +configuration. La valeur par dfaut est +/usr/local/apache2.
    + +
    -f config
    + +
    Utilise les directives du fichier config au dmarrage. Si +config ne commence pas par un '/', il est considr comme +relatif au chemin dfini par la directive ServerRoot. La valeur par dfaut est +conf/httpd.conf.
    + +
    -k start|restart|graceful|stop|graceful-stop
    + +
    Permet de dmarrer, redmarrer ou arrter httpd. Voir Arrter Apache httpd pour plus d'informations.
    + +
    -C directive
    + +
    Excute la directive de configuration directive avant de +lire les fichiers de configurations.
    + +
    -c directive
    + +
    Excute la directive de configuration directive aprs +avoir lu les fichiers de configurations.
    + + +
    -D paramtre
    + +
    Dfinit un paramtre de configuration utiliser dans les +sections <IfDefine> +des fichiers de configuration, ces dernires permettant d'excuter ou +non des +commandes au dmarrage ou au redmarrage du serveur. Sert aussi +dfinir certains paramtres de dmarrage moins courants comme +-DNO_DETACH (empche le processus parent de lancer des +processus enfants) et -DFOREGROUND (empche le processus +parent d'appeler setsid() et autres).
    + +
    -e niveau
    + +
    Dfinit la directive LogLevel +niveau pendant le dmarrage du serveur. Ceci permet +d'augmenter temporairement la verbosit des messages d'erreur afin de +dterminer les problmes de dmarrage.
    + +
    -E fichier
    + +
    Envoie les messages d'erreur de dmarrage vers le fichier +fichier.
    + +
    -h
    + +
    Affiche un bref rsum des options de ligne de commande +disponibles.
    + +
    -l
    + +
    Affiche la liste des modules compils dans le le serveur. Ce +paramtre n'affiche pas les modules chargs +dynamiquement via la directive LoadModule.
    + +
    -L
    + +
    Affiche une liste des directives fournies par les modules statiques +avec les arguments associs, ainsi que les contextes dans lesquels elles +sont valides. Les directives fournies par les modules partags +(dynamiques) ne sont pas affiches).
    + +
    -M
    + +
    Affiche une liste des modules statiques et des modules chargs +dynamiquement.
    + +
    -S
    + +
    Affiche la configuration telle qu'elle est issue de l'interprtation +du fichier de configuration (actuellement, seule la configuration des +serveurs virtuels est affiche).
    + +
    -T (disponible depuis la version 2.3.8)
    + +
    Empche la vrification de la racine des documents (DocumentRoot) au +dmarrage/redmarrage.
    + +
    -t
    + +
    Excute une vrification de syntaxe pour les fichiers de +configuration seulement. Le programme se termine immdiatement aprs ces +tests de vrification de syntaxe avec soit un code de retour de 0 +(syntaxe OK), soit un code de retour diffrent de 0 (erreur de +syntaxe). Si -D DUMP_VHOSTS est dfini, les +dtails de la configuration des serveurs virtuels seront affichs. Si -D +DUMP_MODULES est dfini, tous les modules chargs +seront affichs.
    + +
    -v
    + +
    Print the version of httpd, and then exit.
    + +
    -V
    + +
    Le programme affiche la version et les paramtres de compilation de +httpd, puis se termine.
    + +
    -X
    + +
    Excute httpd en mode debug. Un seul processus sera dmarr, 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 dmarrage du service Apache httpd ; dsinstalle le +service Apache httpd.
    + +
    -n nom
    + +
    Le nom du service Apache httpd actionner.
    + +
    -w
    + +
    Garde la console Windows ouverte en cas de problme de faon 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 6641f4cd..0a5db66a 100644 --- a/docs/manual/programs/httpd.html.ko.euc-kr +++ b/docs/manual/programs/httpd.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    httpd - ġ ؽƮ

    @@ -185,6 +186,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -205,7 +207,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/httpd.html' } })(window, document); //-->
    + + + +
    <-
    +

    httxt2dbm - Gnre des fichiers dbm utiliser avec +RewriteMap

    +
    +

    Langues Disponibles:  en  | + fr  | + tr 

    +
    + +

    httxt2dbm permet, partir d'une entre au format + texte, de gnrer des fichiers dbm utiliser dans les directives + RewriteMap avec le type + de table dbm. +

    +
    + +
    top
    +
    +

    Syntaxe

    +

    httxt2dbm + [ -v ] + [ -f TYPE_DBM ] + -i TEXTE_SOURCE + -o SORTIE_DBM +

    +
    top
    +
    +

    Options

    +
    +
    -v
    +
    Sortie plus verbeuse
    + +
    -f TYPE_DBM
    +
    Spcifie le type DBM utiliser pour le fichier de sortie. + S'il n'est pas spcifi, c'est la valeur par dfaut de + l'APR qui sera utilise. 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 dfaut +
    + +
    -i TEXTE_SOURCE
    +
    Le fichier d'entre partir duquel le fichier dbm sera cr. Le + fichier doit tre format de faon ne contenir qu'un seul + enregistrement par ligne, de la forme : cl valeur. + Voir la documentation de la directive RewriteMap pour plus de dtails + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 1cd5b0d0..e6befe93 100644 --- a/docs/manual/programs/httxt2dbm.html.tr.utf8 +++ b/docs/manual/programs/httxt2dbm.html.tr.utf8 @@ -22,6 +22,7 @@ Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Programlar

    httxt2dbm - RewriteMap ile kullanmak için DBM dosyaları üretir

    Mevcut Diller:  en  | + fr  |  tr 

    @@ -81,6 +82,7 @@

    Mevcut Diller:  en  | + fr  |  tr 

    top

    Yorum

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + +
    <-
    +

    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 contrle 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
    + +
    Cre 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
    + +
    Cre et met jour les fichiers d'authentification pour une + authentification sommaire
    + +
    htdbm
    + +
    Manipulation des bases de donnes DBM des mots de passe.
    + +
    htpasswd
    + +
    Cre et met jour les fichiers d'authentification pour une + authentification basique
    + +
    httxt2dbm
    + +
    Cre des fichiers dbm destins tre utiliss avec + RewriteMap
    + +
    logresolve
    + +
    Rsolution des noms d'htes en adresses IP dans les fichiers + de traces d'Apache
    + +
    log_server_status
    + +
    Journalisation priodique du statut du serveur
    + +
    rotatelogs
    + +
    Rotation des traces d'Apache sans devoir arrter le serveur
    + +
    split-logfile
    + +
    Divise un journal pour plusieurs htes virtuels en journaux + spcifiques chaque hte
    + +
    suexec
    + +
    Change d'utilisateur pour l'excution 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 index 2e1c0f5e..8ca40406 100644 --- a/docs/manual/programs/index.html.ko.euc-kr +++ b/docs/manual/programs/index.html.ko.euc-kr @@ -23,6 +23,7 @@

    :  en  |  es  | + fr  |  ko  |  tr  |  zh-cn 

    @@ -94,11 +95,12 @@
    + + + +
    <-
    +

    logresolve - Rsoud les adresses IP en noms d'htes dans les + fichiers journaux d'Apache

    +
    +

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

    +
    + +

    logresolve est un programme agissant aprs + traitement pour rsoudre les adresses IP dans les journaux d'accs + d'Apache. Pour minimiser la charge de votre serveur de noms, + logresolve possde son propre cache interne sous forme d'une table + de hashage. Cela implique que chaque numro IP ne fera l'objet + d'une requte DNS que la premire fois o il est rencontr dans le + fichier journal.

    + +

    Le programme reoit le fichier journal sur son entre standard. + Les adresses IP doivent se trouver en tte de chaque ligne et + doivent tre spares 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
    + +
    Spcifie le nom du fichier o seront enregistres des +statistiques.
    + +
    -c
    + +
    Avec cette option, logresolve effectue certaines +vrifications DNS : aprs avoir trouv le nom d'hte correspondant une +adresse IP, logresolve effectue une recherche DNS sur ce +nom d'hte et vrifie si une des adresses IP trouves 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 3cc03ed2..3403b54c 100644 --- a/docs/manual/programs/logresolve.html.ko.euc-kr +++ b/docs/manual/programs/logresolve.html.ko.euc-kr @@ -24,6 +24,7 @@ ȯѴ @@ -68,6 +69,7 @@ IP
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -88,7 +90,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/logresolve. } })(window, document); //-->
    + + + +
    <-
    +

    Autres programmes

    +
    +

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

    +
    + + +

    Cette page contenait la documentation de programmes qui possdent + 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index d38a88a1..cad38e3c 100644 --- a/docs/manual/programs/other.html.ko.euc-kr +++ b/docs/manual/programs/other.html.ko.euc-kr @@ -22,6 +22,7 @@ Apache > HTTP Server > Documentation > Version 2.4 > Programs

    Other Programs

    @@ -56,6 +57,7 @@
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -76,7 +78,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/other.html' } })(window, document); //-->
    + + + +
    <-
    +

    rotatelogs - Rotation des journaux d'Apache par redirection de + ces derniers dans un "pipe"

    +
    +

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

    +
    + +

    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 base sur un + intervalle de temps ou une taille maximale du journal.

    +
    + +
    top
    +
    +

    Syntaxe

    + +

    rotatelogs + [ -l ] + [ -L nom-lien ] + [ -p programme ] + [ -f ] + [ -v ] + [ -e ] + [ -c ] + fichier-journal + heure-de-rotation|taille-fichier(B|K|M|G) + [ dcalage ]

    +
    top
    +
    +

    Options

    + +
    + +
    -l
    +
    Utilise le temps local plutt que GMT comme base pour l'intervalle +de temps ou pour le formatage de strftime(3) avec une +rotation base sur la taille.
    + +
    -L nom-lien
    +
    Etablit un lien physique entre le fichier journal courant et le lien +spcifi. Cette option permet de consulter le journal de manire +continue malgr les rotations via une commande du style tail -F +nom-lien.
    + +
    -p programme
    +
    Avec cette option, rotatelogs excutera 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'excution se produit aprs 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 +excution, et cessera tout enregistrement de codes d'erreur lorsqu'il +aura termin son processus. Le programme utilise les mmes +canaux stdin, stdout, et stderr que rotatelogs, et hrite de son +environnement.
    + +
    -f
    +
    Ouvre le fichier journal immdiatement, ds que +rotatelogs dmarre, au lieu d'attendre la lecture de la +premire entre de journal (pour les sites peu chargs, il peut +s'couler un temps substantiel entre le dmarrage du serveur et le +traitement de la premire requte, temps pendant lequel le fichier +journal associ n'"existe" pas, ce qui peut causer des problmes +certains utilitaires de journalisation automatiques).
    + +
    -t
    +
    Provoque une troncature du fichier journal au lieu d'une rotation. +Cela peut s'avrer utile lorsqu'un journal est labor en temps rel par +une commande telle que tail, l'archivage des donnes n'tant ici pas +ncessaire. Si aucun suffixe n'est ajout au nom de fichier, les +chanes de format contenant des caractres '%' sont cependant +respectes. +
    + +
    -v
    +
    Affiche une sortie verbeuse sur STDERR. La sortie contient le +rsultat de l'interprtation de la configuration, ainsi que toutes les +oprations d'ouverture et de fermeture de fichiers.
    + +
    -c
    +
    Cre un fichier journal pour chaque intervalle, mme s'il est vide.
    + +
    -e
    +
    Envoie les messages de journalisation vers stdout. Ceci s'avre +utile lorsque les journaux doivent tre traits par un autre programme.
    + +
    fichier-journal
    +

    Le chemin et le nom de base du fichier journal. Si +fichier-journal contient des caractres '%', il est considr +comme une chane 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 spcifie). +Les deux formats calculent le temps +de dmarrage depuis le dbut de la priode courante. Par exemple, si un +temps de rotation de 86400 est spcifi, les champs heure, minute et +seconde crs partir du format strftime(3) auront tous +pour valeur 0, en rfrence au dbut de la priode de 24 heures courante +(minuit).

    +

    Si vous utilisez le formatage de noms de fichiers +strftime(3), assurez-vous que le format du fichier journal +possde une granularit suffisamment importante pour gnrer un nom de +fichier diffrent chaque rotation des journaux. Si ce n'est pas le +cas, la rotation va craser le fichier existant au lieu d'en gnrer un +nouveau. Par exemple, si fichier-journal tait +/var/logs/errorlog.%Y-%m-%d avec une rotation 5 +mgaoctets, et si la limite de 5 mgaoctets a t atteinte deux fois +dans la mme journe, le mme nom de fichier va tre gnr, et la +rotation va craser le fichier existant.

    +
    + +
    temps-rotation
    + +
    Le temps entre deux rotations des fichiers journaux en secondes. La +rotation intervient au dbut de cet intervalle. Par exemple, si le temps +de rotation est de 3600, la rotation des fichiers journaux s'effectuera +au dbut de chaque heure ; si le temps de rotation est de 86400, la +rotation des fichiers journaux s'effectuera chaque nuit minuit. (Si +aucune donne n'est enregistre 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 spcifis, la taille doit l'tre aprs le +temps. La rotation interviendra alors aussitt que l'une des deux limites +(temps ou taille) sera atteinte. +

    +
    + +
    dcalage
    + +
    Le dcalage en minutes par rapport au temps UTC. Par dfaut, le +dcalage est considr comme nul et c'est le temps UTC qui est utilis. +Par exemple, pour utiliser le temps local de la zone UTC -5 heures, +spcifiez une valeur de -300 pour cette option. Dans la +plupart des cas, il vaut mieux utiliser l'option -l que +spcifier un dcalage.
    + +
    +
    top
    +
    +

    Exemples

    + +

    + CustomLog "|bin/rotatelogs /var/logs/fichier-journal 86400" common +

    + +

    Cette directive cre les fichiers /var/logs/fichier-journal.nnnn + o nnnn correspond au temps systme auquel la journalisation + dmarre 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 aprs 24 + heures), une nouvelle journalisation dmarre.

    + +

    + CustomLog "|bin/rotatelogs -l /var/logs/fichier-journal.%Y.%m.%d 86400" common +

    + +

    Cette directive cre les fichiers + /var/logs/fichier-journal.yyyy.mm.dd o yyyy correspond l'anne, + 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/logs/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/logs/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 prsentera sous + la forme journal-erreurs.YYYY-mm-dd-HH_MM_SS.

    + +

    + CustomLog "|bin/rotatelogs -t /var/logs/journal 86400" common +

    + +

    Cet exemple cre le fichier /var/logs/journal en le tronquant + au dmarrage, puis une fois par jour. Ce scnario implique qu'un + processus spar (tel que tail) traite le fichier en temps + rel.

    + +
    top
    +
    +

    Portabilit

    + +

    Les substitutions des chanes de format du fichier journal suivantes +doivent tre supportes par toutes les implmentations de +strftime(3) ; voir la page de manuel de +strftime(3) pour les extensions spcifiques une +bibliothque.

    + + + + + + + + + + + + + + + + + + + + + + + +
    %Anom du jour de la semaine en entier +(localis)
    %anom du jour de la semaine sur 3 +caractres (localis)
    %Bnom du mois en entier (localis)
    %bnom du mois sur 3 caractres (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'anne 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'anne sur 2 chiffres +(Dimanche est le premier jour de la semaine)
    %W semaine de l'anne 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 (localise)
    %xdate (localise)
    %Yanne sur 4 chiffres
    %yanne sur 2 chiffres
    %Znom de la zone de temps
    %%caractre littral `%'
    + +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index f7e660b7..f824eb13 100644 --- a/docs/manual/programs/rotatelogs.html.ko.euc-kr +++ b/docs/manual/programs/rotatelogs.html.ko.euc-kr @@ -24,6 +24,7 @@ α α׷ @@ -142,6 +143,7 @@ GMT
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    @@ -162,7 +164,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/rotatelogs. } })(window, document); //-->
    + + + +
    <-
    +

    Utilisation de mod_rewrite comme mandataire

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + +

    Ce document est un complment de la documentation de rfrence du module +mod_rewrite. Il dcrit comment utiliser le drapeau [P] +de la directive RewriteRule pour mandater un contenu vers un autre +serveur. Plusieurs recettes dcrivant des scnarios courants sont +fournies.

    + +
    + +
    top
    +
    +

    Mandater du contenu avec mod_rewrite

    + + + +
    +
    Description :
    + +
    +

    + mod_rewrite implmente 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 passe directement un autre serveur, + et servie comme si c'tait une URL locale. Dans le deuxime, nous + mandatons un contenu manquant vers un serveur d'arrire-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 deuxime exemple, nous ne mandatons la requte que si nous + ne trouvons pas la ressource localement. Ceci peut s'avrer trs + utile lorsque vous effectuez une migration d'un serveur vers un + autre, et que vous n'tes pas certain que tout le contenu a dj 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'arrire-plan est + renvoye correctement au client.

    + +

    Chaque fois que cela est possible, prfrez 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, 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 index 5f04461b..9cc6b3ba 100644 --- a/docs/manual/rewrite/remapping.html +++ b/docs/manual/rewrite/remapping.html @@ -3,3 +3,7 @@ URI: remapping.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: remapping.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/rewrite/remapping.html.en b/docs/manual/rewrite/remapping.html.en index 0b97d283..f2cc2014 100644 --- a/docs/manual/rewrite/remapping.html.en +++ b/docs/manual/rewrite/remapping.html.en @@ -21,7 +21,8 @@

    Redirecting and Remapping with mod_rewrite

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -642,7 +643,8 @@ file, as well as in a <Directory> block.

    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + +
    <-
    +

    Redirection et remise en correspondance avec mod_rewrite

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + +

    Ce document est un complment la Documentation de rfrence de +mod_rewrite. Il montre comment utiliser +mod_rewrite pour rediriger et remettre en +correspondance une requte. Il contient de +nombreux exemples d'utilisation courante de mod_rewrite avec une +description dtaille de leur fonctionnement.

    + +
    Vous devez vous attacher comprendre le +fonctionnement des exemples, car la plupart d'entre eux ne +fonctionneront pas sur votre systme 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 rcemment 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 rcrit l'ancienne URL en interne vers la nouvelle via + la rgle suivante :

    + +
    +RewriteEngine  on
    +RewriteRule    ^/foo\.html$  /bar.html [PT]
    +
    + +
    +
    + +
    top
    +
    +

    De l'ancien au nouveau (en externe)

    + + + +
    +
    Description :
    + +
    +

    Supposons toujours que nous ayons rcemment 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 suggre aux utilisateurs de + l'ancienne URL, c'est dire que l'adresse vue depuis leur + navigateur doit galement tre modifie.

    +
    + +
    Solution :
    + +
    +

    On force une redirection HTTP vers la nouvelle URL, ce qui + entrane 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 dplace vers un autre serveur

    + + + +
    +
    Description :
    + +
    +

    Si une ressource a t dplace 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 manire + transparente, c'est dire sans en avertir le + navigateur/utilisateur.

    +
    + +
    Solution :
    + +
    +

    On rcrit simplement l'URL en script CGI et force le + gestionnaire de contenu cgi-script de faon + ce que le script s'excute en tant que programme CGI. + Ainsi, une requte 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 confrer une compatibilit ascendante aux URLs + (existant encore virtuellement) aprs avoir migr + document.YYYY vers document.XXXX, + c'est dire aprs avoir par exemple traduit un lot de + fichiers .html en fichiers .php + ?

    +
    + +
    Solution :
    + +
    +

    On rcrit simplement le nom du fichier en son nom + de base et vrifie s'il existe aussi avec la nouvelle + extension. Si c'est le cas, on utilise ce nom, sinon on + rcrit l'URL sous sa forme originale.

    + + +
    +#   jeu de rgles assurant une compatibilit ascendante en rcrivant
    +# 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 mconnue de + mod_rewrite, en tirant avantage de l'ordre d'excution du jeu de + rgles. En particulier, mod_rewrite value la partie gauche des + rgles de rcriture avant d'valuer les directives RewriteCond. En + consquence, $1 est dj dfini au moment o les directives + RewriteCond sont values. Ceci nous permet de tester l'existence du + fichier original (document.html) et du fichier cible + (document.php) en utilisant le mme nom de base.

    + +

    Ce jeu de rgles est conu pour une utilisation dans un contexte + de rpertoire (au sein d'une section <Directory> ou d'un + fichier .htaccess), de faon ce que les vrifications + -f effectuent leurs recherches dans le bon rpertoire. + Vous serez peut-tre amen dfinir une directive RewriteBase pour spcifier le + rpertoire de base partir duquel vous travaillez.

    +
    +
    + +
    top
    +
    +

    Noms d'htes canoniques

    + + + +
    +
    Description :
    + +
    Le but de cette rgle est de prfrer l'utilisation d'un nom + d'hte particulier d'autres noms d'hte utilisables + pour atteindre le mme 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 +plutt la directive Redirect dans +une section de serveur virtuel pour le/les noms d'hte 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 particulire, vous voulez tout de mme utiliser +mod_rewrite - dans le cas, par exemple, o vous avez besoin +d'un jeu plus important de rgles de rcritures - 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 rgle 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 rgles suivants :

    + +
    +RewriteCond %{HTTP_HOST} !^www\. [NC]
    +RewriteCond %{HTTP_HOST} !^$
    +RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
    +
    + +

    + Vous pouvez utiliser ce jeu de rgles aussi bien dans le fichier + de configuration de votre serveur principal que dans un fichier + .htaccess plac dans le rpertoire dfini par la + directive DocumentRoot du serveur.

    +
    +
    + +
    top
    +
    +

    Recherche de pages dans plus d'un rpertoire

    + + + +
    +
    Description:
    + +
    +

    Une ressource peut exister dans plusieurs rpertoires, et nous + voulons rechercher cette ressource dans ces rpertoires + lorsqu'elle fait l'objet d'une requte. Il est possible que nous + ayons rcemment rorganis la structure de notre site en + rpartissant son contenu dans plusieurs rpertoires.

    +
    + +
    Solution :
    + +
    +

    Le jeu de rgles suivant recherche la ressource dans deux + rpertoires, et s'il ne la trouve dans aucun des deux, il tentera + simplement de la servir partir de l'adresse fournie dans la + requte.

    + +
    +RewriteEngine on
    +
    +#   on cherche tout d'abord dans dir1/...
    +#   ... et si on trouve, on est content et on arrte :
    +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 arrte :
    +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 gographiquement distribus

    + + + +
    +
    Description :
    + +
    +

    Notre site web possde 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'hte du client demandeur, on dtermine 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 + dfaut.

    +

    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 rgles ncessite la dfinition + on de la directive HostNameLookups, ce qui peut induire une + baisse de performance significative.
    + +

    La directive RewriteCond extrait la dernire + partie du nom d'hte du client demandeur - le code du pays - et la + rgle de rcriture qui suit utilise cette valeur pour rechercher le + serveur miroir appropri dans le fichier de correspondances.

    +
    +
    + +
    top
    +
    +

    Contenu dpendant du navigateur

    + + + +
    +
    Description :
    + +
    +

    Nous voulons fournir des contenus diffrents en fonction du + navigateur (user-agent) qui effectue la requte.

    +
    + +
    Solution :
    + +
    +

    Nous devons dterminer quel contenu servir, en nous basant + sur l'en-tte HTTP "User-Agent". La + configuration suivante effectue ceci : si l'en-tte HTTP + "User-Agent" commence par "Mozilla/3", le nom de la page + foo.html est rcrit en foo.NS.html + et la rcriture s'arrte. Si le navigateur est "Lynx" ou + "Mozilla" version 1 ou 2, l'URL devient + foo.20.html. Tous les autres navigateurs + reoivent la page foo.32.html. Tout ceci est + effectu par le jeu de rgles 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 possder plusieurs + URLs. Il y a en gnral les URLs canoniques (celles qui sont + rellement distribues et utilises), et celles qui correspondent + des raccourcis, les URLs internes, etc... Quelle que soit l'adresse + que l'utilisateur fournit dans la requte, 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 requtes futures. Dans le + jeu de rgles suivant, nous remplaons /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
    +
    +

    Dplacement du rpertoire DocumentRoot

    + + + +
    +
    Description :
    + +
    +

    En gnral, le rpertoire DocumentRoot du serveur web correspond l'URL +"/". Ce rpertoire ne contient cependant pas forcment des +ressources de premire importance pour l'utilisateur. Par exemple, vous +prfrerez peut-tre que le rpertoire d'accueil d'un visiteur accdant +pour la premire fois votre site soit un rpertoire particulier +/a-propos-de/. Pour y parvenir, utilisez le jeu de rgles +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 rcrit que l'URL racine. En d'autres +termes, il rcrit une requte pour http://example.com/, +mais pas pour une requte 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-rpertoire, il est largement prfrable de modifier simplement +votre directive DocumentRoot, ou de +dplacer l'ensemble du contenu vers le rpertoire suprieur, plutt que +de rcrire les URLs.

    +
    +
    + +
    top
    +
    +

    Ressource par dfaut

    + + +
    +
    Description :
    +
    Vous voulez qu'une seule ressource (disons un certain fichier tel +que index.php) soit servie pour toutes les requtes destination d'un +certain rpertoire, 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 rgles 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 requte en tant +que chane de paramtres index.php, vous pouvez remplacer cette rgle +de rcriture par :

    + +
    RewriteRule (.*) index.php?$1 [PT,QSA]
    + + +

    Notez que l'on peut utiliser ces jeux de rgles aussi bien dans un +fichier .htaccess que dans une section +<Directory>.

    + +
    + +
    + +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/rewrite/rewrite_guide.html.fr b/docs/manual/rewrite/rewrite_guide.html.fr deleted file mode 100644 index 6a483bf9..00000000 --- a/docs/manual/rewrite/rewrite_guide.html.fr +++ /dev/null @@ -1,870 +0,0 @@ - - - -Guide de rcriture des URLs - Serveur Apache HTTP - - - - - -
    <-
    -

    Guide de rcriture des URLs

    -
    -

    Langues Disponibles:

    -
    - - -

    Ce document complte la documentation de rfrence du - module mod_rewrite. Il dcrit de quelle manire on - peut utiliser le module Apache mod_rewrite pour - rsoudre les problmes typiques relatifs aux URLs auxquels les - webmasters sont souvent confronts. La rsolution de chaque problme - par la configuration des jeux de rgles de rcriture d'URLs fait - l'objet d'une description dtaille.

    - -
    ATTENTION : l'adaptation des exemples votre - situation en fonction de la configuration de votre serveur pourra - s'avrer ncessaire, par exemple l'ajout du drapeau - [PT] si vous utilisez les modules - mod_alias, mod_userdir, etc... Un - jeu de rgles dfini dans le contexte du serveur devra aussi tre - adapt pour tre utilis dans un contexte .htaccess. - Efforcez-vous toujours de bien comprendre l'effet produit par un jeu - de rgles avant de l'utiliser, ce qui pourra vous viter bien des - problmes.
    - -
    - -
    top
    -
    -

    URLs canoniques

    - - - -
    -
    Description :
    - -
    -

    Sur certains serveurs web, une ressource peut tre accessible - depuis plusieurs URLs. On trouve en gnral des URLs canoniques - (qui sont rellement utilisables et distribuables), mais aussi des - URLs usage interne, ou celles qui ne sont que des raccourcis, - etc... On souhaite que, quelle que soit l'URL que l'utilisateur - a fournie avec sa requte, il ne doit en voir en fin de compte - que la forme canonique.

    -
    - -
    Solution :
    - -
    -

    On effectue une redirection HTTP externe pour toutes les URLs - non canoniques afin de les rendre comprhensibles au navigateur - et ceci pour toutes les requtes sous-jacentes. Dans l'exemple de - jeux de rgles ci-dessous, /~user est remplac par - l'expression canonique /u/user, et une ventuelle - absence du slash la fin de /u/user est corrige.

    - -
    -RewriteRule   ^/~([^/]+)/?(.*)    /u/$1/$2  [R]
    -RewriteRule   ^/u/([^/]+)$  /$1/$2/   [R]
    -
    -
    -
    - -
    top
    -
    -

    Noms d'htes canoniques

    - -
    -
    Description :
    - -
    Le but de cette rgle est de prfrer l'utilisation d'un nom - d'hte particulier par rapport d'autres noms d'hte utilisables - pour atteindre le mme site. Par exemple, si vous voulez - utiliser www.example.com la place de - example.com, vous devez utiliser une solution - de ce style.
    - -
    Solution :
    - -
    -

    Pour les sites coutant sur un port autre que 80:

    -
    -RewriteCond %{HTTP_HOST}   !^www\.exemple\.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\.exemple\.com [NC]
    -RewriteCond %{HTTP_HOST}   !^$
    -RewriteRule ^/?(.*)         http://www.example.com/$1 [L,R,NE]
    -
    -

    - Si vous souhaitez que cette rgle 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 rgles suivants :

    - -
    -RewriteCond %{HTTP_HOST} !^www\. [NC]
    -RewriteCond %{HTTP_HOST} !^$
    -RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
    -
    -

    - Vous pouvez utiliser ce jeu de rgles aussi bien dans le fichier - de configuration de votre serveur principal que dans un fichier - .htaccess plac dans le rpertoire dfini par la - directive DocumentRoot du serveur.

    -
    -
    - -
    top
    -
    -

    DocumentRootdplac

    - - - -
    -
    Description :
    - -
    -

    En gnral, la directive DocumentRoot correspond directement l'URL -"/" du serveur web. Mais souvent, les donnes qui s'y -trouvent ne sont pas de la premire priorit. Par exemple, il peut tre -intressant, pour les visiteurs qui entrent sur le site pour la premire -fois, d'tre redirigs vers un sous-rpertoire particulier -/a-propos-de/. Pour ce faire, on peut utiliser le jeu de -rgles suivant :

    -
    - -
    Solution :
    - -
    -

    On redirige l'URL / vers - /a-propos-de/: -

    - -
    -RewriteEngine on
    -RewriteRule   ^/$  /a-propos-de/  [R]
    -
    - -

    Notez que le mme effet peut tre obtenu l'aide de la directive - RedirectMatch :

    - -

    -RedirectMatch ^/$ http://example.com/apropos/ -

    -

    Notez aussi que cet exemple ne rcrit que l'URL racine. En d'autres -termes, il rcrit une requte pour http://example.com/, -mais ne rcrira pas une requte pour -http://example.com/page.html. En fait, si vous avez modifi -la racine de vos documents - c'est dire si tous vos contenus se -trouvent dans ce sous-rpertoire, il vaut mieux simplement modifier -votre directive DocumentRoot que de -procder une rcriture d'URLs.

    -
    -
    - -
    top
    -
    -

    Problme du slash de fin

    - - - -
    -
    Description :
    - -

    La plupart des problmes de "slash de fin" peuvent tre - rsolus grce aux techniques dcrites dans ce sujet - de la FAQ. Cependant, dans certaines situations o l'absence de slash de fin - peut rendre une URL inoprante, l'utilisation de - mod_rewrite s'avre ncessaire. Le cas peut se prsenter, par exemple, - aprs une srie complexe de rgles de rcriture.

    -
    - -
    Solution :
    - -
    -

    La solution ce problme subtil consiste laisser le - serveur ajouter le slash de fin automatiquement. Pour y - parvenir, il faut utiliser une redirection externe, afin que - le navigateur demande correctement les images sous-jacentes, - etc... Une rcriture en interne ne fonctionnerait que pour la - page du rpertoire, mais chouerait pour toute image incluse - dans cette page via des liens relatifs, car le navigateur - demanderait un objet insr. Par exemple, une requte pour - image.gif dans /~quux/foo/index.html - deviendrait /~quux/image.gif sans la redirection - externe !

    - -

    Pour y parvenir, on peut utiliser des rgles de ce style :

    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteRule    ^foo$  foo/  [R]
    -
    - -

    Vous pouvez aussi ajouter ce qui suit dans un fichier - .htaccess situ dans le rpertoire contenant la - ressource. Notez cependant que cela augmente la charge du processeur.

    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteCond    %{REQUEST_FILENAME}  -d
    -RewriteRule    ^(.+[^/])$           $1/  [R]
    -
    -
    -
    - -
    top
    -
    -

    Dplacement des rpertoires home vers un autre serveur

    - - - -
    -
    Description :
    - -
    -

    De nombreux webmasters ont demand comment rsoudre le - problme suivant : ils voudraient tout simplement rediriger - les rpertoires home d'un serveur web vers un autre serveur - web. Cette situation se prsente en gnral lorsqu'on installe - un nouveau serveur web destin terme en remplacer un autre - plus ancien.

    -
    - -
    Solution :
    - -
    -

    Avec mod_rewrite, la solution est - vidente. Sur l'ancien serveur web, on redirige simplement - toutes les URLs du style /~user/chemin vers - http://nouveau-serveur/~user/chemin.

    - -
    -RewriteEngine on
    -RewriteRule   ^/~(.+)  http://nouveau-serveur/~$1  [R,L]
    -
    -
    -
    - -
    top
    -
    -

    Recherche de pages dans plus d'un rpertoire

    - - - -
    -
    Description :
    - -
    -

    Le serveur web doit parfois rechercher des pages dans plus - d'un rpertoire. Dans ce cas, les vues multiples ou autres - techniques similaires ne sont d'aucun secours.

    -
    - -
    Solution :
    - -
    -

    On dfinit explicitement un jeu de rgles qui recherche les - fichiers dans les rpertoires.

    - -
    -RewriteEngine on
    -
    -#   on cherche tout d'abord dans dir1/...
    -#   ... et si on trouve, on est content et on arrte :
    -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 arrte :
    -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
    -
    -

    Dfinir des variables d'environnement en fonction de - certaines parties de l'URL

    - - - -
    -
    Description :
    - -
    -

    Comment conserver des informations - d'tat d'une requte l'autre et utiliser l'URL pour les - encoder, sans utiliser d'encapsulateur CGI - pour toutes les pages pour seulement supprimer ces - informations.

    -
    - -
    Solution :
    - -
    -

    On utilise une rgle de rcriture pour supprimer - l'information d'tat et l'enregistrer dans une variable - d'environnement dont on pourra plus tard extraire la valeur - dans XSSI ou CGI. De cette faon, une URL telle que - /foo/S=java/bar/ sera traduite en - /foo/bar/ et la variable d'environnement - STATUS aura pour valeur "java".

    - -
    -RewriteEngine on
    -RewriteRule   ^(.*)/S=([^/]+)/(.*)    $1/$3 [E=STATUS:$2]
    -
    -
    -
    - -
    top
    -
    -

    Htes virtuels bass sur l'utilisateur

    - - - -
    -
    Description :
    - -
    -

    Supposons que vous vouliez atteindre la page d'accueil des - utilisateurs sur une mme machine au moyen de l'URL - www.nom-utilisateur.hte.domaine.com, - en vous basant - seulement sur les enregistrements DNS de type A, et ceci sans qu'aucun - hte virtuel ne soit install sur cette machine.

    -
    - -
    Solution :
    - -
    -

    Dans le cas des requtes HTTP/1.0, il n'y a pas de solution - ; par contre, avec une requte HTTP/1.1 qui contient un - en-tte HTTP Host:, on peut utiliser le jeu de rgles suivant - pour rcrire en interne - http://www.nom-utilisateur.hte.com/chemin vers - /home/nom-utilisateur/chemin :

    - -
    -RewriteEngine on
    -RewriteCond   %{HTTP_HOST}                 ^www\.([^.]+)\.host\.com$
    -RewriteRule   ^(.*) /home/%1$1
    -
    -

    Les parenthses utilises dans une directive RewriteCond sont captures dans les -rfrences arrires %1, %2, etc..., alors que -les parenthses utilises dans une directive RewriteRule sont captures dans les -rfrences arrires $1, $2, etc...

    -
    -
    - -
    top
    -
    -

    Redirection des rpertoires d'accueil pour les trangers

    - - - -
    -
    Description :
    - -
    -

    On veut rediriger les URLs des rpertoires d'accueil vers - un autre serveur www.quelque-part.com lorsque - l'utilisateur demandeur n'appartient pas au domaine local - notre-domaine.com. On rencontre parfois cette - situation dans un contexte d'htes virtuels.

    -
    - -
    Solution :
    - -
    -

    Juste une condition de rcriture :

    - -
    -RewriteEngine on
    -RewriteCond   %{REMOTE_HOST}  !^.+\.notre-domaine\.com$
    -RewriteRule   ^(/~.+)         http://www.quelque-part.com/$1 [R,L]
    -
    -
    -
    - -
    top
    -
    -

    Redirection des ancrages

    - - - -
    -
    Description :
    - -
    -

    Par dfaut, la redirection vers un ancrage HTML ne fonctionne - pas, car mod_rewrite chappe le caractre # en le - transformant en %23, ce qui rend la redirection - inoprante.

    -
    - -
    Solution :
    - -
    -

    On utilise le drapeau [NE] dans la rgle - RewriteRule. NE signifie "No Escape". -

    -
    -
    - -
    top
    -
    -

    Rcriture dpendant de l'heure

    - - - -
    -
    Description :
    - -
    -

    Lorsqu'il s'agit de distribuer des contenus dont la nature - dpend de l'heure, de nombreux webmasters utilisent encore des - scripts CGI qui redirigent par exemple vers des pages - spcifiques. Comment peut-on y parvenir tenir compte de - l'heure l'aide de mod_rewrite ?

    -
    - -
    Solution :
    - -
    -

    Il existe de nombreuses variables nommes - TIME_xxx utilisables dans les conditions de - rcriture. Utilises en conjonction avec les modles de - comparaison lexicographique spciaux <STRING, - >STRING et =STRING, elles - permettent d'effectuer des redirections dpendant de - l'heure :

    - -
    -RewriteEngine on
    -RewriteCond   %{TIME_HOUR}%{TIME_MIN} >0700
    -RewriteCond   %{TIME_HOUR}%{TIME_MIN} <1900
    -RewriteRule   ^foo\.html$             foo.jour.html
    -RewriteRule   ^foo\.html$             foo.nuit.html
    -
    - -

    Avec cet exemple, l'URL foo.html renvoie - le contenu de foo.jour.html durant le - crneau horaire 07:00-19:00, et le contenu de - foo.nuit.html le reste du temps. Agrable - fonctionnalit pour une page d'accueil...

    -
    -
    - -
    top
    -
    -

    Compatibilit ascendante pour une migration de YYYY vers - XXXX

    - - - -
    -
    Description :
    - -
    -

    Comment confrer une compatibilit ascendante aux URLs - (existant encore virtuellement) aprs avoir migr - document.YYYY vers document.XXXX, - c'est dire aprs avoir par exemple traduit un lot de - fichiers .html en fichiers .phtml - ?

    -
    - -
    Solution :
    - -
    -

    On rcrit simplement le nom du fichier en son nom - de base et vrifie s'il existe aussi avec la nouvelle - extension. Si c'est le cas, on utilise ce nom, sinon on - rcrit l'URL sous sa forme originale.

    - - -
    -#   jeu de rgles assurant une compatibilit ascendante en rcrivant
    -#   document.html en document.phtml si et seulement si document.phtml
    -#   existe et document.html n'existe plus
    -RewriteEngine on
    -RewriteBase   /~quux/
    -#   rcriture du fichier en son nom de base,
    -#   mais garde en mmoire le fait qu'il s'agit
    -#   d'un fichier html
    -RewriteRule   ^(.*)\.html$              $1      [C,E=WasHTML:yes]
    -#   rcrit vers document.phtml s'il existe
    -#   Note : il s'agit d'un exemple de niveau rpertoire, si bien que
    -#   %{REQUEST_FILENAME} contient le chemin complet du systme de fichier
    -#   tel qu'il a t construit par le serveur.
    -RewriteCond   %{REQUEST_FILENAME}.phtml -f
    -RewriteRule   ^(.*)$ $1.phtml                   [S=1]
    -#   sinon, restauration du nom de fichier complet original
    -RewriteCond   %{ENV:WasHTML}            ^yes$
    -RewriteRule   ^(.*)$ $1.html
    -
    -
    -
    - -
    top
    -
    -

    De l'ancien au nouveau (en interne)

    - - - -
    -
    Description :
    - -
    -

    Supposons que nous ayons rcemment 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 rcrit l'ancienne URL en interne vers la nouvelle via - la rgle suivante :

    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteRule    ^foo\.html$  bar.html
    -
    -
    -
    - -
    top
    -
    -

    De l'ancien au nouveau (en externe)

    - - - -
    -
    Description :
    - -
    -

    Supposons toujours que nous ayons rcemment renomm la page - foo.html en bar.html, et voulions - maintenant que l'ancienne URL soit toujours valide des fins - de compatibilit ascendante. Par contre, nous voulons cette - fois que les utilisateurs de l'ancienne URL soient redirigs - vers la nouvelle, c'est dire que l'adresse tape - dans leur navigateur doit aussi tre modifie.

    -
    - -
    Solution :
    - -
    -

    On force une redirection HTTP vers la nouvelle URL, ce qui - entrane une modification de celle du navigateur et aussi de ce - que voit l'utilisateur :

    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteRule    ^foo\.html$  bar.html  [R]
    -
    -
    -
    - -
    top
    -
    -

    De statique dynamique

    - - - -
    -
    Description :
    - -
    -

    Comment transformer une page statique foo.html - en sa variante dynamique foo.cgi de manire - transparente, c'est dire sans en avertir le - navigateur/utilisateur.

    -
    - -
    Solution :
    - -
    -

    On rcrit simplement l'URL en script CGI et force le - gestionnaire de contenu cgi-script de faon - ce que le script s'excute en tant que programme CGI. - Ainsi, une requte 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
    -
    -

    Blocage des robots

    - - - -
    -
    Description :
    - -
    -

    Comment empcher un robot vraiment gnant de collecter les - pages d'une partie spcifique du site web ? Un fichier - /robots.txt comportant les entres du "Protocole - d'Exclusion des Robots" ne suffit gnralement pas en venir - bout.

    -
    - -
    Solution :
    - -
    -

    On utilise un jeu de rgles qui interdit les URLs de la - partie du site web concerne /~quux/foo/arc/ - (peut-tre une partie du serveur avec une arborescence trs - dveloppe travers laquelle le parcours du - robot induirait une charge importante pour le serveur). Nous - devons nous assurer de n'interdire l'accs qu' ce robot - particulier, c'est dire qu'il ne suffit pas d'interdire - l'accs l'hte sur lequel le robot fonctionne, ce qui - bloquerait aussi les utilisateurs de cet hte. Pour y - parvenir, on tient aussi compte des informations contenues - dans l'en-tte HTTP User-Agent.

    - -
    -RewriteCond %{HTTP_USER_AGENT}   ^NameOfBadRobot.*
    -RewriteCond %{REMOTE_ADDR}       ^123\.45\.67\.[8-9]$
    -RewriteRule ^/~quux/foo/arc/.+   -   [F]
    -
    -
    -
    - -
    top
    -
    -

    Blocage du rfrencement 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 rfrence cette pratique sous le nom de - rfrencement chaud (Hotlinking) qui entrane 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 requte chouera, en ce sens que - l'image ne sera pas affiche depuis le site tiers.

    -

    Il y a plusieurs manires de grer cette situation.

    - -

    Dans le premier exemple, nous rejetons tout simplement la - requte 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, plutt que de rejeter la requte, - 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 troisime exemple, nous redirigeons la requte vers - une image appartenant un site tiers.

    - - -
    -RewriteCond %{HTTP_REFERER} !^$
    -RewriteCond %{HTTP_REFERER} !www.example.com [NC]
    -RewriteRule \.(gif|jpg|png)$ http://other.site.com/image.gif   [R,NC]
    -
    -

    De tous ces exemples, les deux derniers semblent les plus - efficaces pour faire en sorte que les gens arrtent de - rfrencer vos images chaud, car il ne verront pas les images - qu'ils s'attendent voir.

    - -
    -
    - -
    top
    -
    -

    Interdiction du mandataire

    - - - -
    -
    Description :
    - -
    -

    Comment interdire l'utilisation du mandataire d'Apache un - certain hte, ou mme un utilisateur d'un certain hte ?

    -
    - -
    Solution :
    - -
    -

    Nous devons tout d'abord nous assurer que - mod_rewrite se situe en dessous (!) de - mod_proxy dans le fichier de configuration - lors de la compilation du serveur web Apache. De cette faon, - il est appel avant mod_proxy. Nous - pouvons alors utiliser la rgle suivante pour une interdiction - concernant un hte...

    - -
    -RewriteCond %{REMOTE_HOST} ^mauvais-hte\.mon-domaine\.com$
    -RewriteRule !^http://[^/.]\.mon-domaine.com.*  - [F]
    -
    - -

    ...et celle-ci pour une interdiction concernant un - utilisateur d'un certain hte :

    - -
    -RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST}
    -^mauvais-sujet@mauvais-hte\.mon-domaine\.com$
    -RewriteRule !^http://[^/.]\.mon-domaine.com.*  - [F]
    -
    -
    -
    - -
    top
    -
    -

    Moteur de rcriture externe

    - - - -
    -
    Description :
    - -
    -

    Une question de la Faq : comment rsoudre le problme - FOO/BAR/QUUX/etc. ? mod_rewrite ne semble pas - devoir y apporter de solution...

    -
    - -
    Solution :
    - -
    -

    Utiliser une RewriteMap ou table de rcriture externe, c'est - dire un programme qui agit de la mme faon qu'une - RewriteMap. Il - doit tre lanc une fois au dmarrage d'Apache, recevoir les - URLs des requtes sur STDIN, et restituer l'URL - rsultante (en gnral rcrite) sur STDOUT (dans - cet ordre !).

    - -
    -RewriteEngine on
    -RewriteMap    quux-table       prg:/chemin/vers/table.quux.pl
    -RewriteRule   ^/~quux/(.*)$  /~quux/${quux-table:$1}
    -
    - -
    -#!/chemin/vers/perl
    -
    -#   dsactive la mise en tampon des entres/sorties, qui risque
    -#   de provoquer des bouclages infinis pour le serveur Apache
    -$| = 1;
    -
    -#   lit les URLs (une par ligne) depuis stdin et
    -#   gnre l'URL transforme sur stdout
    -
    -#   read URLs one per line from stdin and
    -#   generate substitution URL on stdout
    -while (<>) {
    -    s|^foo/|bar/|;
    -    print $_;
    -}
    -
    - -

    Ceci n'est qu'un exemple de dmonstration qui ne fait que - rcrire les URLs du style /~quux/foo/... vers - /~quux/bar/.... En fait, vous pouvez programmer - la substitution que vous voulez. Notez cependant que si de - tels programmes peuvent aussi tre utiliss - par un utilisateur standard, seul l'administrateur du systme - peut les crire.

    -
    -
    - -
    -
    -

    Langues Disponibles:

    -
    - \ No newline at end of file diff --git a/docs/manual/rewrite/rewrite_guide_advanced.html.fr b/docs/manual/rewrite/rewrite_guide_advanced.html.fr deleted file mode 100644 index eaff3aac..00000000 --- a/docs/manual/rewrite/rewrite_guide_advanced.html.fr +++ /dev/null @@ -1,1377 +0,0 @@ - - - -Guide de rcriture des URLs - Sujets avancs - Serveur Apache HTTP - - - - - -
    <-
    -

    Guide de rcriture des URLs - Sujets avancs

    -
    -

    Langues Disponibles:

    -
    - - -

    Ce document complmente la - documentation de rfrence du - module mod_rewrite. Il dcrit les diffrentes - manires d'utiliser le module d'Apache mod_rewrite - pour rsoudre les problmes d'URLs typiques auxquels sont souvent - confronts les webmasters. Nous fournissons une description - dtaille de la rsolution de chaque problme par la configuration - d'un jeu de rgles de rcriture.

    - -
    ATTENTION: il pourra s'avrer ncessaire de - modifier les exemples en fonction de la - configuration de votre serveur, par exemple en ajoutant le drapeau - [PT] si les modules mod_alias et - mod_userdir sont utiliss, etc... Les jeux de - rgles devront galement tre adapts pour passer d'un contexte de - serveur un contexte de rpertoire (fichiers - .htaccess). Essayez de toujours bien comprendre ce que - fait un jeu de rgles avant de l'utiliser, ce qui pourra vous viter - bien des problmes.
    - -
    - -
    top
    -
    -

    Accs une grappe de serveurs via un espace d'adressage - compatible

    - - - -
    -
    Description :
    - -
    -

    Comment crer un espace d'adressage homogne et compatible - avec - tous les serveurs WWW d'une grappe de serveurs d'un intranet ? - C'est dire que toutes les URLs (par dfinition - locales un - serveur et dpendant donc de celui-ci) deviennent - vritablement indpendantes du serveur ! Nous voulons - disposer, pour accder l'espace de nommage WWW, d'un seul - espace d'adressage compatible : aucune URL ne - doit inclure d'information quelconque propos du serveur - cible physique. La grappe de serveurs doit elle-mme nous - diriger automatiquement vers le bon serveur cible physique, - selon les besoins, et ceci de manire transparente.

    -
    - -
    Solution :
    - -
    -

    Tout d'abord, la connaissance des serveurs cibles est issue - de tables de correspondances externes (distribues) qui - contiennent des informations sur la localisation de nos - utilisateurs, groupes et entits. Elles se prsentent sous la - forme :

    - -
    -utilisateur1  serveur_utilisateur1
    -utilisateur2  serveur_utilisateur2
    -:      :
    -
    - -

    On les enregistre sous forme de fichiers - map.xxx-vers-serveur. On doit ensuite faire - rediriger tous les serveurs les URLs de la forme :

    - -
    -/u/utilisateur/chemin
    -/g/groupe/chemin
    -/e/entit/chemin
    -
    - -

    vers

    - -
    -http://serveur-physique/u/utilisateur/chemin
    -http://serveur-physique/g/groupe/chemin
    -http://serveur-physique/e/entit/chemin
    -
    - -

    si il n'est pas ncessaire que chaque chemin d'URL tre valide sur chaque - serveur. Le jeu - de rgles suivant le fait pour nous l'aide des fichiers de - correspondance (en supposant que serveur0 soit un serveur par - dfaut qui sera choisi si l'utilisateur ne possde aucune - entre dans la table) :

    - -
    -RewriteEngine on
    -
    -RewriteMap      utilisateur-vers-serveur   txt:/chemin/vers/map.utilisateur-vers-serveur
    -RewriteMap     groupe-vers-serveur   txt:/chemin/vers/map.groupe-vers-serveur
    -RewriteMap    entit-vers-serveur   txt:/chemin/vers/map.entit-vers-serveur
    -
    -RewriteRule   ^/u/([^/]+)/?(.*)
    -http://${utilisateur-vers-serveur:$1|serveur0}/u/$1/$2
    -RewriteRule   ^/g/([^/]+)/?(.*)
    -http://${groupe-vers-serveur:$1|serveur0}/g/$1/$2
    -RewriteRule   ^/e/([^/]+)/?(.*)
    -http://${entit-vers-serveur:$1|serveur0}/e/$1/$2
    -
    -RewriteRule   ^/([uge])/([^/]+)/?$          /$1/$2/.www/
    -RewriteRule   ^/([uge])/([^/]+)/([^.]+.+)   /$1/$2/.www/$3\
    -
    -
    -
    - -
    top
    -
    -

    Rpertoires utilisateurs structurs

    - - - -
    -
    Description :
    - -
    -

    Certains sites possdant des milliers d'utilisateurs - organisent les rpertoires home de manire - structure, c'est dire que chaque rpertoire home - se situe dans un sous-rpertoire dont le nom commence (par - exemple) par le premier caractre du nom de l'utilisateur. - Ainsi, /~foo/chemin est dans - /home/f/foo/.www/chemin, tandis - que /~bar/chemin est dans - /home/b/bar/.www/chemin.

    -
    - -
    Solution :
    - -
    -

    Le jeu de rgles suivant permet de dvelopper les URLs avec - tilde selon la reprsentation ci-dessus.

    - -
    -RewriteEngine on
    -RewriteRule   ^/~(([a-z])[a-z0-9]+)(.*)  /home/$2/$1/.www$3
    -
    -
    -
    - -
    top
    -
    -

    Rorganisation du systme de fichiers

    - - - -
    -
    Description :
    - -
    -

    Voici un cas d'espce : une application trs efficace qui - fait un usage intensif de rgles RewriteRule - dans le contexte du rpertoire pour prsenter un aspect - comprhensible sur le Web sans modifier la structure des - donnes. - Les coulisses de l'affaire : net.sw - rassemble mes archives de paquetages de logiciels Unix - librement accessibles, que j'ai commenc collectionner en - 1992. Pour moi, c'est un passe-temps, mais aussi un travail, - car alors que j'tudie la science informatique, j'ai aussi - travaill depuis de nombreuses annes comme administrateur - systme et rseau mes heures perdues. Chaque semaine j'ai - besoin de tel ou tel logiciel, et j'ai donc cr une - arborescence trs ramifie de rpertoires o je stocke les - paquetages :

    - -
    -drwxrwxr-x   2 netsw  users    512 Aug  3 18:39 Audio/
    -drwxrwxr-x   2 netsw  users    512 Jul  9 14:37 Benchmark/
    -drwxrwxr-x  12 netsw  users    512 Jul  9 00:34 Crypto/
    -drwxrwxr-x   5 netsw  users    512 Jul  9 00:41 Database/
    -drwxrwxr-x   4 netsw  users    512 Jul 30 19:25 Dicts/
    -drwxrwxr-x  10 netsw  users    512 Jul  9 01:54 Graphic/
    -drwxrwxr-x   5 netsw  users    512 Jul  9 01:58 Hackers/
    -drwxrwxr-x   8 netsw  users    512 Jul  9 03:19 InfoSys/
    -drwxrwxr-x   3 netsw  users    512 Jul  9 03:21 Math/
    -drwxrwxr-x   3 netsw  users    512 Jul  9 03:24 Misc/
    -drwxrwxr-x   9 netsw  users    512 Aug  1 16:33 Network/
    -drwxrwxr-x   2 netsw  users    512 Jul  9 05:53 Office/
    -drwxrwxr-x   7 netsw  users    512 Jul  9 09:24 SoftEng/
    -drwxrwxr-x   7 netsw  users    512 Jul  9 12:17 System/
    -drwxrwxr-x  12 netsw  users    512 Aug  3 20:15 Typesetting/
    -drwxrwxr-x  10 netsw  users    512 Jul  9 14:08 X11/
    -
    - -

    J'ai dcid en 1996 de rendre cette archive disponible pour - le monde via une interface web agrable. "Agrable" signifie - que je voulais vous offrir une interface o vous pourriez - naviguer directement travers la hirarchie des archives. - Mais "agrable" signifie aussi que je ne voulais rien changer - dans cette hirarchie - mme pas en ajoutant queques scripts - CGI son sommet. Pourquoi ? Parceque j'avais prvu de rendre - ultrieurement la structure ci-dessus accessible aussi via - FTP, et je ne voulais pas voir de fichiers CGI ou Web ce - niveau.

    -
    - -
    Solution :
    - -
    -

    La solution comporte deux parties : la premire consiste en - un ensemble de scripts CGI qui crent toutes les pages tous - les niveaux de rpertoires la vole. Je les ai placs dans - /e/netsw/.www/ comme suit :

    - -
    --rw-r--r--   1 netsw  users    1318 Aug  1 18:10 .wwwacl
    -drwxr-xr-x  18 netsw  users     512 Aug  5 15:51 DATA/
    --rw-rw-rw-   1 netsw  users  372982 Aug  5 16:35 LOGFILE
    --rw-r--r--   1 netsw  users     659 Aug  4 09:27 TODO
    --rw-r--r--   1 netsw  users    5697 Aug  1 18:01 netsw-about.html
    --rwxr-xr-x   1 netsw  users     579 Aug  2 10:33 netsw-access.pl
    --rwxr-xr-x   1 netsw  users    1532 Aug  1 17:35 netsw-changes.cgi
    --rwxr-xr-x   1 netsw  users    2866 Aug  5 14:49 netsw-home.cgi
    -drwxr-xr-x   2 netsw  users     512 Jul  8 23:47 netsw-img/
    --rwxr-xr-x   1 netsw  users   24050 Aug  5 15:49 netsw-lsdir.cgi
    --rwxr-xr-x   1 netsw  users    1589 Aug  3 18:43 netsw-search.cgi
    --rwxr-xr-x   1 netsw  users    1885 Aug  1 17:41 netsw-tree.cgi
    --rw-r--r--   1 netsw  users     234 Jul 30 16:35 netsw-unlimit.lst
    -
    - -

    Le sous-rpertoire DATA/ contient la structure - de rpertoires proprement dite mentionne plus haut, c'est - dire les vritables ressources - net.sw et est mis jour - automatiquement via rdist intervalles de temps - rguliers. Reste la seconde partie du problme : comment - relier ces deux structures selon une arborescence d'URL - facile d'accs ? Il nous faut cacher le rpertoire - DATA/ l'utilisateur durant l'excution des - scripts CGI appropris aux diffrentes URLs. Voici comment : - tout d'abord, j'ajoute ces deux rgles dans le fichier de - configuration du rpertoire racine DocumentRoot du serveur afin de - rcrire le chemin d'URL public /net.sw/ vers le - chemin interne /e/netsw :

    - -
    -RewriteRule  ^net.sw$       net.sw/        [R]
    -RewriteRule  ^net.sw/(.*)$  e/netsw/$1
    -
    - -

    La premire rgle concerne les requtes qui ne comportent - pas de slash de fin ! C'est la seconde rgle qui fait le - vritable travail. Et maintenant vient la super configuration - qui se trouve dans le fichier de configuration de rpertoire - /e/netsw/.www/.wwwacl :

    - -
    -Options       ExecCGI FollowSymLinks Includes MultiViews
    -
    -RewriteEngine on
    -
    -#  l'accs s'effectue via le prfixe /net.sw/
    -RewriteBase   /net.sw/
    -
    -#  tout d'abord, on rcrit le rpertoire racine vers
    -#  le script CGI qui lui est associ
    -RewriteRule   ^$                       netsw-home.cgi     [L]
    -RewriteRule   ^index\.html$            netsw-home.cgi     [L]
    -
    -#  on supprime les sous-rpertoires lorsque
    -#  le navigateur nous atteint depuis des pages de rpertoire
    -RewriteRule   ^.+/(netsw-[^/]+/.+)$    $1                 [L]
    -
    -#  on stoppe maintenant la rcriture pour les fichiers locaux
    -RewriteRule   ^netsw-home\.cgi.*       -                  [L]
    -RewriteRule   ^netsw-changes\.cgi.*    -                  [L]
    -RewriteRule   ^netsw-search\.cgi.*     -                  [L]
    -RewriteRule   ^netsw-tree\.cgi$        -                  [L]
    -RewriteRule   ^netsw-about\.html$      -                  [L]
    -RewriteRule   ^netsw-img/.*$           -                  [L]
    -
    -#  ce qui reste est un sous-rpertoire qui peut tre trait
    -#  par un autre script CGI
    -RewriteRule   !^netsw-lsdir\.cgi.*     -                  [C]
    -RewriteRule   (.*)                     netsw-lsdir.cgi/$1
    -
    - -

    Quelques indices pour l'interprtation :

    - -
      -
    1. Remarquez le drapeau L (last) et l'absence - de chane de substitution ('-') dans la - quatrime partie.
    2. - -
    3. Remarquez le caractre ! (not) et le - drapeau C (chain) dans la premire rgle de la - dernire partie.
    4. - -
    5. Remarquez le modle qui correspond tout dans la - dernire rgle.
    6. -
    -
    -
    - -
    top
    -
    -

    Rediriger les URLs errones vers un autre serveur Web

    - - - -
    -
    Description :
    - -
    -

    Une question typique de la FAQ propos de la rcriture - revient souvent : comment rediriger vers un serveur B les - requtes qui chouent sur un serveur A ? On s'acquitte en - gnral de cette tche via des scripts CGI ErrorDocument en Perl, mais il - existe aussi une solution avec mod_rewrite. - Notez cependant que les performances sont moindres qu'avec - l'utilisation d'un script CGI ErrorDocument !

    -
    - -
    Solution :
    - -
    -

    La premire solution possde des performances suprieures - mais moins de souplesse, et est moins sure :

    - -
    -RewriteEngine on
    -RewriteCond  %{DOCUMENT_ROOT/%{REQUEST_URI}  !-f
    -RewriteRule   ^(.+)                             http://serveurB.dom/$1
    -
    - -

    Le problme rside dans le fait que seules les pages - situes dans la racine DocumentRoot seront rediriges. Mais - mme si vous pouvez ajouter des conditions supplmentaires (par - exemple pour traiter aussi les rpertoires home, etc...), il - existe une meilleure solution :

    - -
    -RewriteEngine on
    -RewriteCond   %{REQUEST_URI} !-U
    -RewriteRule   ^(.+)          http://serveurB.dom/$1
    -
    -reprendre ici -

    On utilise ici la fonctionnalit de prvision des URLs - futures de mod_rewrite. Et cette solution - fonctionne pour tous les types d'URLs et de manire sre. Par - contre, cette mthode a un impact sur les performances du - serveur web, car chaque requte entrane le traitement d'une - sous-requte interne supplmentaire. Par consquent, vous - pouvez l'utiliser si votre serveur web s'excute sur un CPU - puissant. Dans le cas d'une machine plus lente, utilisez la - premire approche, ou mieux, un script CGI ErrorDocument.

    -
    -
    - -
    top
    -
    -

    Multiplexeur d'accs aux archives

    - - - -
    -
    Description :
    - -
    -

    Connaissez-vous la grande archive CPAN (Comprehensive Perl Archive - Network) situe http://www.perl.com/CPAN ? - CPAN redirige automatiquement les navigateurs vers un des - nombreux serveurs FTP rpartis travers le monde - (gnralement un serveur assez proche du client) ; chaque - serveur hberge l'intgralit d'un miroir CPAN. Il s'agit ni - plus ni moins qu'un service d'accs FTP multiplex. Alors que - le fonctionnement de l'archive CPAN repose sur des scripts - CGI, comment implmenter une approche similaire avec - mod_rewrite ?

    -
    - -
    Solution :
    - -
    -

    Premirement, remarquons que depuis la version 3.0.0, - mod_rewrite accepte aussi le prfixe - "ftp:" dans les redirections. Et deuximement, - l'approximation de la localisation peut tre effectue par une - table de correspondances RewriteMap, en se basant sur - la racine du domaine du client. Un jeu de rgles chanes - astucieux nous permet d'utiliser cette racine du domaine comme - cl de recherche dans notre table de correspondances de - multiplexage.

    - -
    -RewriteEngine on
    -RewriteMap    multiplex                txt:/chemin/vers/map.cxan
    -RewriteRule   ^/CxAN/(.*)              %{REMOTE_HOST}::$1                 [C]
    -RewriteRule   ^.+\.([a-zA-Z]+)::(.*)$
    -${multiplex:$1|ftp.dfaut.dom}$2  [R,L]
    -
    - -
    -##
    -##  map.cxan -- Multiplexing Map for CxAN%{DOCUMENT_ROOT/%{REQUEST_URI}
    -##
    -
    -de        ftp://ftp.cxan.de/CxAN/
    -uk        ftp://ftp.cxan.uk/CxAN/
    -com       ftp://ftp.cxan.com/CxAN/
    - :
    -##EOF##
    -
    -
    -
    - -
    top
    -
    -

    Contenu dpendant du navigateur

    - - - -
    -
    Description :
    - -
    -

    Il est parfois ncessaire, au moins pour les pages - principales, de fournir un contenu optimum adapt chaque - type de navigateur, c'est dire que l'on doit - fournir une version pour les navigateurs courants, une version - diffrente pour les navigateurs en mode texte du style de - Lynx, et une autre pour les autres navigateurs.

    -
    - -
    Solution :
    - -
    -

    On ne peut pas utiliser la ngociation de contenu car les - navigateurs ne fournissent pas leur type dans cette forme. - Nous devons nous baser sur l'en-tte HTTP "User-Agent". La - configuration ci-dessous effectue les actions suivantes : si - l'en-tte HTTP "User-Agent" commence par "Mozilla/3", la page - foo.html est rcrite en foo.NS.html - et la rcriture s'arrte. Si le navigateur est "Lynx" ou - "Mozilla" version 1 ou 2, la page - foo.html est rcrite en - foo.20.html. Tous les autres navigateurs - reoivent la page foo.32.html. Voici le jeu de - rgles :

    - -
    -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
    -
    -

    Miroir dynamique

    - - - -
    -
    Description :
    - -
    -

    Supposons que nous voulions intgrer dans notre espace de - nommage de belles pages web situes sur un serveur distant. - Dans le cas d'un serveur FTP, nous aurions utilis le - programme mirror qui maintient vraiment une copie - des donnes distantes mise jour explicitement sur le serveur - local. Pour un serveur web, nous pourrions utiliser le - programme webcopy qui utilise le protocole HTTP. - Ces deux techniques prsentent cependant un - inconvnient majeur : la copie locale n'est vritablement - jour qu'au moment o nous avons lanc le programme. Plutt qu' - un miroir statique devant tre dfini explicitement, il serait - prfrable d'avoir un miroir dynamique dont le contenu serait - mis jour automatiquement, la demande, sur le(s) serveur(s) - distant(s).

    -
    - -
    Solution :
    - -
    -

    Pour y parvenir, on fait - correspondre la page web ou mme l'ensemble du - rpertoire web distants notre espace de nommage en utilisant - la fonctionnalit Mandataire (drapeau - [P] ou [proxy]) :

    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteRule    ^page-convoite/(.*)$  http://www.tstimpreso.com/page-convoite/$1  [P]
    -
    - -
    -RewriteEngine  on
    -RewriteBase    /~quux/
    -RewriteRule    ^usa-news\.html$   http://www.quux-corp.com/news/index.html  [P]
    -
    -
    -
    - -
    top
    -
    -

    Miroir dynamique inverse

    - - - -
    -
    Description :
    - -
    ...
    - -
    Solution :
    - -
    -
    -RewriteEngine on
    -RewriteCond   /miroir/du/site-distant/$1           -U
    -RewriteRule   ^http://www\.site-distant\.com/(.*)$ /miroir/du/site-distant/$1
    -
    -
    -
    - -
    top
    -
    -

    Rcuprer des donnes manquantes depuis l'Intranet

    - - - -
    -
    Description :
    - -
    -

    C'est une mthode astucieuse permettant de faire - fonctionner virtuellement un serveur web d'entreprise - (www.quux-corp.dom) sur - l'Internet (extrieur l'entreprise), tout en maintenant et - conservant dans la ralit ses donnes sur un serveur web - (www2.quux-corp.dom) de l'Intranet (interne - l'entreprise) protg par un pare-feu. L'astuce consiste, sur - le serveur web externe, rcuprer la vole sur le serveur interne - les donnes demandes.

    -
    - -
    Solution :
    - -
    -

    Tout d'abord, nous devons nous assurer que notre pare-feu - protge bien le serveur web interne, et que seul le serveur - web externe est autoris y rcuprer des donnes. Dans le - cas d'un filtrage par paquets, nous pourrions par exemple - dfinir un jeu de rgles du pare-feu du style :

    - -
    -ALLOW serveur www.quux-corp.dom Port >1024 -->
    -serveur www2.quux-corp.dom Port 80
    -DENY  serveur *                 Port *     -->
    -serveur www2.quux-corp.dom Port 80
    -
    - -

    Il vous suffit d'adapter ces rgles la syntaxe de votre - pare-feu. Nous pouvons maintenant dfinir les rgles de - mod_rewrite qui serviront rcuprer les - donnes manquantes en arrire-plan via la fonctionnalit de - mandataire :

    - -
    -RewriteRule ^/~([^/]+)/?(.*)          /home/$1/.www/$2 [C]
    -# L'utilisation de REQUEST_FILENAME ci dessous est correcte dans cet
    -# exemple de contexte au niveau serveur car la rgle qui fait rfrence
    -#  REQUEST_FILENAME est chane  une rgle qui dfinit
    -# REQUEST_FILENAME.
    -RewriteCond %{REQUEST_FILENAME}       !-f
    -RewriteCond %{REQUEST_FILENAME}       !-d
    -RewriteRule ^/home/([^/]+)/.www/?(.*) http://www2.quux-corp.dom/~$1/pub/$2 [P]
    -
    -
    -
    - -
    top
    -
    -

    Rpartition de charge

    - - - -
    -
    Description :
    - -
    -

    Supposons que nous voulions rpartir la charge du trafic - vers www.example.com entre les serveurs - www[0-5].example.com (un total de 6 serveurs). - Comment y parvenir ?

    -
    - -
    Solution :
    - -
    -

    Il existe de nombreuses solutions ce problme. Nous - dcrirons tout d'abord une variante assez connue base sur - DNS, puis une autre base sur mod_rewrite - :

    - -
      -
    1. - Round-Robin (tourniquet) DNS - -

      La mthode de rpartition de charge la plus simple - consiste utiliser le "DNS round-robin" - (rotation d'adresses) de - BIND. Vous devez seulement enregistrer les - serveurs www[0-9].example.com de manire - habituelle dans votre DNS l'aide d'enregistrements de - type A (adresse), comme suit :

      - -
      -www0   IN  A       1.2.3.1
      -www1   IN  A       1.2.3.2
      -www2   IN  A       1.2.3.3
      -www3   IN  A       1.2.3.4
      -www4   IN  A       1.2.3.5
      -www5   IN  A       1.2.3.6
      -
      - -

      Puis vous ajoutez les entres suivantes :

      - -
      -www   IN  A       1.2.3.1
      -www   IN  A       1.2.3.2
      -www   IN  A       1.2.3.3
      -www   IN  A       1.2.3.4
      -www   IN  A       1.2.3.5
      -
      - -

      Maintenant, lors de la rsolution de - www.example.com, BIND renvoie - www0-www5 - mais selon une permutation - diffrente chaque fois. De cette faon, les clients sont - rpartis entre les diffrents serveurs. Notez cependant - que cette mthode de rpartition de charge n'est pas - parfaite, car les rsolutions DNS sont mises en cache par - les clients et les autres serveurs DNS du rseau, si - bien que lorsqu'un client s'est vu rsoudre - www.example.com en un des - wwwN.example.com, toutes ses requtes ultrieures - continueront d'aller vers la mme adresse IP (et donc le - mme serveur), au lieu d'tre rparties entre les autres - serveurs. Le rsultat est cependant globalement - satisfaisant car les requtes sont rparties - collectivement entre chacun des serveurs web.

      -
    2. - -
    3. - Rpartition de charge base sur DNS - -

      Une mthode de rpartition de charge sophistique base - sur DNS consiste utiliser le programme - lbnamed que l'on peut trouver - http://www.stanford.edu/~riepel/lbnamed/. - Associ des outils auxiliaires, il s'agit d'un programme - en Perl 5 qui permet d'effectuer une vritable rpartition - de charge base sur DNS.

      -
    4. - -
    5. - Round-Robin bas sur la fonctionnalit de - mandataire - -

      Dans cette variante, nous utilisons - mod_rewrite et sa fonctionnalit de - mandataire. Tout d'abord, nous dfinissons - www0.example.com comme un autre nom de - www.example.com en ajoutant l'entre

      - -
      -www    IN  CNAME   www0.example.com.
      -
      - -

      dans le DNS. Puis nous dfinissons - www0.example.com comme serveur mandataire - seulement, c'est dire que nous configurons cette machine - de telle sorte que toutes les URLs qui lui arrivent soient - simplement transmises, via le mandataire interne, vers un - des 5 autres serveurs (www1-www5). Pour y - parvenir, nous dfinissons tout d'abord un jeu de rgles - qui contacte un script de rpartition de charge - lb.pl pour toutes les URLs.

      - -
      -RewriteEngine on
      -RewriteMap    lb      prg:/chemin/vers/lb.pl
      -RewriteRule   ^/(.+)$ ${lb:$1}           [P,L]
      -
      - -

      Puis nous crivons lb.pl :

      - -
      -#!/chemin/vers/perl
      -##
      -##  lb.pl -- script de rpartition de charge
      -##
      -
      -$| = 1;
      -
      -$name   = "www";     # la base du nom du serveur
      -$first  = 1;         # le premier serveur (pas 0 ici, car 0 correspond 
      -		     # moi-mme)
      -$last   = 5;         # le dernier serveur du tourniquet
      -$domain = "foo.dom"; # le nom de domaine
      -
      -$cnt = 0;
      -while (<STDIN>) {
      -    $cnt = (($cnt+1) % ($last+1-$first));
      -    $server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);
      -    print "http://$server/$_";
      -}
      -
      -##EOF##
      -
      - -
      Une dernire remarque : quoi cela sert-il ? - www0.example.com, quant lui, n'est-il pas - toujours surcharg ? La rponse est oui, il est surcharg, - mais seulement avec des requtes de mandataire ! Tous les - traitements SSI, CGI, ePerl, etc... sont entirement - effectus sur les autres machines. Ceci peut fonctionner - correctement pour un site complexe. Le plus grand risque - rside ici dans le fait que www0 est un passage oblig et - que s'il est hors service, les autres serveurs deviennent - inaccessibles.
      -
    6. - -
    7. - Rpartiteur de charge ddi - -

      Il existe aussi des solutions plus sophistiques. - Cisco, F5, et de nombreuses autres socits proposent - des rpartiteurs de charge matriels (utiliss en gnral - en mode doubl des fins de redondance), qui offrent une - rpartition de charge sophistique et des fonctionnalits - de passage automatique en mode de fonctionnement par dfaut - en cas de problme. Cependant, des solutions logicielles - offrent aussi des fonctionnalits similaires avec du - matriel standard. Si vos besoins correspondent et si vous - tes assez riche, vous pouvez envisager ces solutions. La - liste de diffusion lb-l - est un bon point de dpart pour vos recherches.

      -
    8. -
    -
    -
    - -
    top
    -
    -

    Nouveau type MIME, nouveau service

    - - - -
    -
    Description :
    - -
    -

    On trouve de nombreux programmes CGI attractifs sur le - rseau. Mais leur emploi est souvent rbarbatif, si bien que - de nombreux webmasters ne les utilisent pas. Mme la - fonctionnalit de gestionnaire Action d'Apache pour les types - MIME ne convient que lorsque les programmes CGI ne ncessitent - pas d'URLs spciales (rellement PATH_INFO et - QUERY_STRINGS) en entre. Tout d'abord, - dfinissons un nouveau type de fichier ayant pour extension - .scgi (pour CGI scuris) qui sera associ pour - traitement au programme populaire cgiwrap. Le - problme est le suivant : par exemple, si on utilise un style - d'URL bien dfini (voir ci-dessus), un fichier situ dans le - rpertoire home de l'utilisateur pourra correspondre l'URL - /u/user/foo/bar.scgi. Mais cgiwrap - ncessite des URLs de la forme - /~user/foo/bar.scgi/. La rgle suivante apporte - la solution :

    - -
    -RewriteRule ^/[uge]/([^/]+)/\.www/(.+)\.scgi(.*) ...
    -... /interne/cgi/utilisateur/cgiwrap/~$1/$2.scgi$3  [NS,T=application/x-http-cgi]
    -
    - -

    Ou considrons ces autres programmes attractifs : - wwwlog (qui affiche le journal des accs - access.log pour un sous rpertoire correspondant - une URL) et wwwidx (qui excute Glimpse sur un - sous rpertoire correspondant une URL). Nous devons fournir - l'URL correspondante ces programmes afin qu'ils sachent sur - quel rpertoire ils doivent agir. Mais c'est en gnral - compliqu, car ils peuvent tre appels nouveau - par la forme d'URL alternative, c'est dire que typiquement, - nous excuterions le programme swwidx depuis - /u/user/foo/ via un hyperlien vers

    - -
    -/internal/cgi/user/swwidx?i=/u/user/foo/
    -
    - -

    ce qui n'est pas satisfaisant, car nous devons expliciter - la fois la localisation du rpertoire - et la localisation du programme CGI dans - l'hyperlien. Si nous devons nous rorganiser, il nous faudra - beaucoup de temps pour modifier tous les hyperliens.

    -
    - -
    Solution :
    - -
    -

    La solution consiste ici fournir un nouveau format d'URL - qui redirige automatiquement vers la requte CGI approprie. - Pour cela, on dfinit les rgles suivantes :

    - -
    -RewriteRule   ^/([uge])/([^/]+)(/?.*)/\*  /interne/cgi/utilisateur/wwwidx?i=/$1/$2$3/
    -RewriteRule   ^/([uge])/([^/]+)(/?.*):log /interne/cgi/utilisateur/wwwlog?f=/$1/$2$3
    -
    - -

    Et maintenant l'hyperlien qui renvoie vers - /u/user/foo/ se rduit

    - -
    -HREF="*"
    -
    - -

    qui est automatiquement transform en interne en

    - -
    -/internal/cgi/user/wwwidx?i=/u/user/foo/
    -
    - -

    Une approche similaire permet d'invoquer le programme CGI - du journal des accs lorsque l'hyperlien :log est - utilis.

    -
    -
    - -
    top
    -
    -

    Rgneration de contenu la vole

    - - - -
    -
    Description :
    - -
    -

    Voici une fonctionnalit vraiment sotrique : des pages - gnres dynamiquement mais servies statiquement, c'est - dire que les pages doivent tre servies comme des pages - purement statiques (lues depuis le systme de fichiers et - servies en l'tat), mais doivent tre gnres dynamiquement - par le serveur web si elles sont absentes. Ainsi, vous pouvez - avoir des pages gnres par CGI qui sont servies statiquement - moins qu'un administrateur (ou une tche de - cron) ne supprime les - contenus statiques. Les contenus sont ensuite actualiss.

    -
    - -
    Solution :
    - -
    - A cet effet, on utilise le jeu de rgles suivant : - -
    -# Cet exemple n'est valable que dans un contexte de rpertoire
    -RewriteCond %{REQUEST_FILENAME}   !-s
    -RewriteRule ^page\.html$          page.cgi   [T=application/x-httpd-cgi,L]
    -
    - -

    Ainsi, une requte pour page.html entrane - l'excution interne de la page page.cgi - correspondante si page.html n'existe pas - ou possde une taille de fichier nulle. L'astuce rside ici - dans le fait que page.cgi est un script CGI - qui (en plus de STDOUT) crit sa sortie dans le - fichier page.html. Une fois le script excut, le - serveur sert la page page.html frachement - gnre. Si le webmaster - veut actualiser les contenus, il lui suffit de supprimer le - fichier page.html (le plus souvent via une tche - de cron).

    -
    -
    - -
    top
    -
    -

    Actualisation automatique d'un document

    - - - -
    -
    Description :
    - -
    -

    Lorsque nous crons une page web complexe, ne serait-il pas - souhaitable que le navigateur web actualise automatiquement la - page chaque fois que nous en sauvegardons une nouvelle version - partir de notre diteur ? Impossible ?

    -
    - -
    Solution :
    - -
    -

    Non ! Nous allons pour cela combiner la fonctionnalit MIME - multipart, la fonctionnalit NPH du serveur web et la - puissance de mod_rewrite pour la manipulation - d'URLs. Tout d'abord, nous dfinissons une nouvelle - fonctionnalit pour les URLs : l'ajout de - :refresh toute URL fait que la 'page' est - actualise chaque fois que la ressource est mise jour dans - le systme de fichiers.

    - -
    -RewriteRule   ^(/[uge]/[^/]+/?.*):refresh  /interne/cgi/apache/nph-refresh?f=$1
    -
    - -

    Nous appelons maintenant cette URL

    - -
    -/u/foo/bar/page.html:refresh
    -
    - -

    ce qui entrane en interne l'invocation de l'URL

    - -
    -/interne/cgi/apache/nph-refresh?f=/u/foo/bar/page.html
    -
    - -

    Il ne reste plus qu' crire le script CGI. Bien que l'on - crive habituellement dans ces cas "laiss la charge du - lecteur titre d'exercice", ;-) je vous l'offre, aussi.

    - -
    -#!/sw/bin/perl
    -##
    -##  nph-refresh -- script NPH/CGI pour l'actualisation automatique de
    -##  pages
    -##  Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
    -##
    -$| = 1;
    -
    -#   clate la variable QUERY_STRING
    -@pairs = split(/&/, $ENV{'QUERY_STRING'});
    -foreach $pair (@pairs) {
    -    ($name, $value) = split(/=/, $pair);
    -    $name =~ tr/A-Z/a-z/;
    -    $name = 'QS_' . $name;
    -    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    -    eval "\$$name = \"$value\"";
    -}
    -$QS_s = 1 if ($QS_s eq '');
    -$QS_n = 3600 if ($QS_n eq '');
    -if ($QS_f eq '') {
    -    print "HTTP/1.0 200 OK\n";
    -    print "Content-type: text/html\n\n";
    -    print "&lt;b&gt;ERREUR&lt;/b&gt;: Aucun fichier fourni\n";
    -    exit(0);
    -}
    -if (! -f $QS_f) {
    -    print "HTTP/1.0 200 OK\n";
    -    print "Content-type: text/html\n\n";
    -    print "&lt;b&gt;ERREUR&lt;/b&gt;: Fichier $QS_f non trouv\n";
    -    exit(0);
    -}
    -
    -sub print_http_headers_multipart_begin {
    -    print "HTTP/1.0 200 OK\n";
    -    $bound = "ThisRandomString12345";
    -    print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
    -    &print_http_headers_multipart_next;
    -}
    -
    -sub print_http_headers_multipart_next {
    -    print "\n--$bound\n";
    -}
    -
    -sub print_http_headers_multipart_end {
    -    print "\n--$bound--\n";
    -}
    -
    -sub displayhtml {
    -    local($buffer) = @_;
    -    $len = length($buffer);
    -    print "Content-type: text/html\n";
    -    print "Content-length: $len\n\n";
    -    print $buffer;
    -}
    -
    -sub readfile {
    -    local($file) = @_;
    -    local(*FP, $size, $buffer, $bytes);
    -    ($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
    -    $size = sprintf("%d", $size);
    -    open(FP, "&lt;$file");
    -    $bytes = sysread(FP, $buffer, $size);
    -    close(FP);
    -    return $buffer;
    -}
    -
    -$buffer = &readfile($QS_f);
    -&print_http_headers_multipart_begin;
    -&displayhtml($buffer);
    -
    -sub mystat {
    -    local($file) = $_[0];
    -    local($time);
    -
    -    ($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
    -    return $mtime;
    -}
    -
    -$mtimeL = &mystat($QS_f);
    -$mtime = $mtime;
    -for ($n = 0; $n &lt; $QS_n; $n++) {
    -    while (1) {
    -        $mtime = &mystat($QS_f);
    -        if ($mtime ne $mtimeL) {
    -            $mtimeL = $mtime;
    -            sleep(2);
    -            $buffer = &readfile($QS_f);
    -            &print_http_headers_multipart_next;
    -            &displayhtml($buffer);
    -            sleep(5);
    -            $mtimeL = &mystat($QS_f);
    -            last;
    -        }
    -        sleep($QS_s);
    -    }
    -}
    -
    -&print_http_headers_multipart_end;
    -
    -exit(0);
    -
    -##EOF##
    -
    -
    -
    - -
    top
    -
    -

    Hbergement virtuel de masse

    - - - -
    -
    Description :
    - -
    -

    La fonctionnalit <VirtualHost> d'Apache est intressante et - fonctionne de manire satisfaisante jusqu' quelques - douzaines de serveurs virtuels. Par contre, si vous tes un - FAI et devez hberger des centaines de serveurs virtuels, - cette mthode n'est pas optimale.

    -
    - -
    Solution :
    - -
    -

    Pour fournir cette fonctionnalit avec - mod_rewrite, on fait correspondre notre espace de - nommage la page web ou mme le rpertoire complet distants en - utilisant la fonctionnalit Mandataire - (drapeau [P]) :

    - -
    -##
    -##  vhost.map
    -##
    -www.vhost1.dom:80  /chemin/vers/racine-doc/vhost1
    -www.vhost2.dom:80  /chemin/vers/racine-doc/vhost2
    -     :
    -www.vhostN.dom:80  /chemin/vers/racine-doc/vhostN
    -
    - -
    -##
    -##  httpd.conf
    -##
    -    :
    -#   utilisation du nom d'hte canonique pour les redirections, etc...
    -UseCanonicalName on
    -
    -    :
    -#   ajout du serveur virtuel en tte du format CLF
    -CustomLog  /chemin/vers/access_log  "%{VHOST}e %h %l %u %t \"%r\" %>s %b"
    -    :
    -
    -#   activation du moteur de rcriture pour le serveur principal
    -RewriteEngine on
    -
    -#   dfinition de deux tables de correspondances : une premire pour
    -#   corriger les URLs et une seconde qui associe les serveurs virtuels
    -#   disponibles avec leurs racines des documents correspondantes.
    -RewriteMap    lowercase    int:tolower
    -RewriteMap    vhost        txt:/chemin/vers/vhost.map
    -
    -#   et enfin slection proprement dite du serveur virtuel appropri via
    -#   une seule rgle longue et complexe :
    -#
    -#   1. on s'assure de ne pas slectionner un hte virtuel pour les
    -#   adresses communes
    -
    -RewriteCond   %{REQUEST_URI}  !^/adresse-commune1/.*
    -RewriteCond   %{REQUEST_URI}  !^/adresse-commune2/.*
    -    :
    -RewriteCond   %{REQUEST_URI}  !^/adresse-communeN/.*
    -#
    -#   2. on vrifie que l'on dispose bien d'un en-tte Host, car
    -#   actuellement, cette mthode ne peut faire de l'hbergement virtuel
    -#   qu'avec cet en-tte
    -RewriteCond   %{HTTP_HOST}  !^$
    -#
    -#   3. mise en minuscules du nom d'hte
    -RewriteCond   ${lowercase:%{HTTP_HOST}|NONE}  ^(.+)$
    -#
    -#   4. recherche ce ce nom d'hte dans vhost.map et
    -#      enregistrement de celui-ci seulement s'il s'agit d'un chemin
    -#      (et non "NONE" en provenance de la condition prcdente)
    -RewriteCond   ${vhost:%1}  ^(/.*)$
    -#
    -#   5. nous pouvons enfin faire correspondre l'URL avec la racine des
    -#   documents correspondant au serveur virtuel appropri et enregistrer
    -#   ce dernier  des fins de journalisation
    -RewriteRule   ^/(.*)$   %1/$1  [E=VHOST:${lowercase:%{HTTP_HOST}}]
    -    :
    -
    -
    -
    - -
    top
    -
    -

    Interdiction d'htes

    - - - -
    -
    Description :
    - -
    -

    Comment interdire l'accs notre serveur une liste - d'htes ?

    -
    - -
    Solution :
    - -
    -

    Pour Apache >= 1.3b6 :

    - -
    -RewriteEngine on
    -RewriteMap    htes-interdits  txt:/chemin/vers/htes-interdits
    -RewriteCond   ${htes-interdits:%{REMOTE_HOST}|NOT-FOUND} !=NOT-FOUND [OR]
    -RewriteCond   ${htes-interdits:%{REMOTE_ADDR}|NOT-FOUND} !=NOT-FOUND
    -RewriteRule   ^/.*  -  [F]
    -
    - -

    Pour Apache <= 1.3b6 :

    - -
    -RewriteEngine on
    -RewriteMap    htes-interdits  txt:/chemin/vers/htes-interdits
    -RewriteRule   ^/(.*)$ ${htes-interdits:%{REMOTE_HOST}|NOT-FOUND}/$1
    -RewriteRule   !^NOT-FOUND/.* - [F]
    -RewriteRule   ^NOT-FOUND/(.*)$ ${htes-interdits:%{REMOTE_ADDR}|NOT-FOUND}/$1
    -RewriteRule   !^NOT-FOUND/.* - [F]
    -RewriteRule   ^NOT-FOUND/(.*)$ /$1
    -
    - -
    -##
    -##  hosts.deny
    -##
    -##  ATTENTION! Ceci est une table de correspondances, pas une liste,
    -##  mme si on l'utilise en tant que telle. mod_rewrite l'interprte
    -##  comme un ensemble de paires cl/valeur ; chaque entre doit donc
    -##  au moins possder une valeur fictive "-".
    -##
    -
    -193.102.180.41 -
    -bsdti1.sdm.de  -
    -192.76.162.40  -
    -
    -
    -
    - -
    top
    -
    -

    Interdiction du mandataire

    - - - -
    -
    Description :
    - -
    -

    Comment interdire l'utilisation du mandataire d'Apache pour - un certain hte, ou mme seulement pour un utilisateur - de cet hte ?

    -
    - -
    Solution :
    - -
    -

    Nous devons tout d'abord nous assurer que - mod_rewrite arrive aprs(!) - mod_proxy dans le fichier de configuration - lors de la compilation du serveur web Apache. De cette faon, - il est appel avant mod_proxy. Nous - pouvons ensuite dfinir cette rgle pour une interdiction - dpendant de l'hte :

    - -
    -RewriteCond %{REMOTE_HOST} ^hte--rejeter\.mon-domaine\.com$
    -RewriteRule !^http://[^/.]\.mon-domaine.com.*  - [F]
    -
    - -

    ...et celle-ci pour une interdiction dpendant de - utilisateur@hte :

    - -
    -RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST}  ^utilisateur--
    -rejeter@hte--rejeter\.mon-domaine\.com$
    -RewriteRule !^http://[^/.]\.mon-domaine.com.*  - [F]
    -
    -
    -
    - -
    top
    -
    -

    Variante particulire d'authentification

    - - - -
    -
    Description :
    - -
    -

    On a parfois besoin d'une authentification trs - particulire, par exemple une authentification qui vrifie la - prsence d'un utilisateur dans une liste explicitement - dfinie. Seuls ceux qui sont prsents dans la liste se voient - accorder un accs, et ceci sans avoir - s'identifier/authentifier (comme c'est le cas avec une - authentification de base via mod_auth).

    -
    - -
    Solution :
    - -
    -

    On dfinit une liste de conditions de rcriture pour - interdire l'accs tout le monde, sauf aux utilisateurs - autoriss :

    - -
    -RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^ami1@client1.quux-corp\.com$
    -RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^ami2@client2.quux-corp\.com$
    -RewriteCond %{REMOTE_IDENT}@%{REMOTE_HOST} !^ami3@client3.quux-corp\.com$
    -RewriteRule ^/~quux/seulement-pour-les-amis/      -                                 [F]
    -
    -
    -
    - -
    top
    -
    -

    Redirection base sur le rfrent

    - - - -
    -
    Description :
    - -
    -

    Comment crire un programme souple qui redirige certaines - URLs en se basant sur l'en-tte HTTP "Referer", et peut tre - configur avec autant de pages de rfrence - que l'on veut ?

    -
    - -
    Solution :
    - -
    -

    On utilise le jeu de rgles vraiment astucieux suivant :

    - -
    -RewriteMap  deflector txt:/chemin/vers/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]
    -
    - -

    ... en association avec la table de rcriture - correspondante :

    - -
    -##
    -##  deflector.map
    -##
    -
    -http://www.mauvais-sujets.com/mauvais/index.html    -
    -http://www.mauvais-sujets.com/mauvais/index2.html   -
    -http://www.mauvais-sujets.com/mauvais/index3.html   http://quelque-part.com/
    -
    - -

    Les requtes sont rediriges vers la page de rfrence - (lorsque la valeur correspondant la cl extraite de la table - de correspondances est gale "-"), ou vers une - URL spcifique (lorsqu'une URL est dfinie dans la table de - correspondances comme second argument).

    -
    -
    - -
    -
    -

    Langues Disponibles:

    -
    - \ No newline at end of file diff --git a/docs/manual/rewrite/rewritemap.html b/docs/manual/rewrite/rewritemap.html index 18948357..e1e4738c 100644 --- a/docs/manual/rewrite/rewritemap.html +++ b/docs/manual/rewrite/rewritemap.html @@ -3,3 +3,7 @@ URI: rewritemap.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: rewritemap.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/rewrite/rewritemap.html.en b/docs/manual/rewrite/rewritemap.html.en index 44f3d062..71b983a5 100644 --- a/docs/manual/rewrite/rewritemap.html.en +++ b/docs/manual/rewrite/rewritemap.html.en @@ -21,7 +21,8 @@

    Using RewriteMap

    -

    Available Languages:  en 

    +

    Available Languages:  en  | + fr 

    @@ -452,7 +453,8 @@ RewriteMap myquery "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
    -

    Available Languages:  en 

    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    + + + +
    <-
    +

    Utilisation de RewriteMap

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + +

    Ce document est un complment la documentation de rfrence du + module mod_rewrite. Il dcrit l'utilisation de la + directive RewriteMap, et + fournit des exemples pour chacun des diffrents types de + RewriteMap.

    + +
    Notez que la plupart de ces exemples ne + fonctionneront pas en l'tat dans le contexte de votre configuration + particulire ; vous devez donc vous attacher les + comprendre, plutt que de simplement les insrer dans votre + configuration par copier/coller.
    + +
    + +
    top
    +
    +

    Introduction

    + + +

    + La directive RewriteMap + dfinit une fonction externe qui peut tre appele depuis une + directive RewriteRule ou + RewriteCond pour + accomplir une rcriture trop complique, ou trop spcialise pour + tre effectue partir d'expressions rationnelles. Vous trouverez + ci-dessous les diffrents types disponibles pour la source de + donnes, ceux-ci tant par ailleurs numrs dans la documentation de + rfrence 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 rcriture. 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 employe, la table de correspondances + nom-map est consulte et la cl cl-recherche + recherche. Si la cl est trouve, la fonction de recherche dans la + table de correspondance est remplace par SubstValue, ou + par DefaultValue dans le cas contraire, ou par la chane + vide si aucune DefaultValue n'a t spcifie.

    + +

    Par exemple, vous pouvez dfinir 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 spcifier une valeur par dfaut qui sera utilise +si la recherche dans la table de correspondances est infructueuse :

    + +
    RewriteRule ^/ex/(.*) ${examplemap:$1|/not_found.html}
    + + +

    Contexte de rpertoire et fichiers.htaccess

    +

    +Vous ne pouvez utiliser la directive RewriteMap ni dans +les sections <Directory>, ni dans les fichiers +.htaccess. Vous devez dclarer la table de correspondances +au niveau du serveur principal ou dans un contexte de serveur virtuel. +En revanche, si vous ne pouvez pas dclarer la table dans une section +<Directory> ou dans un fichier .htaccess, vous +pourrez y faire rfrence dans ces contextes, une fois cette table +cre. +

    +
    + +

    Les sections suivantes dcrivent les diffrents types de tables de +correspondances type-map disponibles, et fournissent des +exemples pour chacun d'entre eux.

    +
    top
    +
    +

    txt: tables de correspondances au format texte

    + + +

    Lorsqu'un type-map txt est utilis, la source-map + est un chemin du systme de fichiers vers un fichier de + correspondances au format texte, contenant sur chaque ligne une + paire cl/valeur spares par un espace. Il est possible d'insrer + des commentaires sous la forme de chanes commenant par le caractre + '#'.

    + +

    Voici un exemple d'entres 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 spcifie est recherche dans le premier champ, et si elle + est trouve, la valeur de substitution est renvoye.

    + +

    Par exemple, nous pourrions utiliser un fichier de + correspondances pour traduire des noms de produits en identifiants + produits pour obtenir des URLs plus simples mmoriser, 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 reoit un argument id=NON-TROUVE, 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 requte pour + http://example.com/produit/TELEVISION arrive, elle est + transforme en interne en /prods.php?id=993.

    + +

    Note: fichiers .htaccess

    + L'exemple donn est conu 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 dbut dans le modle de rcriture afin que ce dernier + puisse correspondre toute URL : +
    RewriteRule ^product/(.*) /prods.php?id=${product2id:$1|NOTFOUND} [PT]
    + +
    + +

    Recherches mises en cache

    +

    + Les cls 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 + redmarr, ce qui amliore les performances pour les tables de + correspondances consultes par de nombreuses requtes. +

    +
    + +
    top
    +
    +

    rnd: Fichier texte valeurs de substitution multiples + choisies de manire alatoire

    + + +

    Lorsque le type-map spcifi est rnd, la source est + un chemin du systme de fichiers vers un fichier de correspondances + au format texte dont chaque ligne contient une cl, et une ou + plusieurs valeurs spares par le caractre |. Si une + cl convient, une des valeurs correspondantes sera choisie de + manire alatoire.

    + +

    Par exemple, vous pouvez utiliser le fichier de correspondances + et les directives suivants pour implmenter une rpartition de + charge alatoire entre plusieurs serveurs d'arrire-plan, par + l'intermdiaire d'un mandataire inverse. Les images sont envoyes + 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 rcriture
    +##
    +
    +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 demande et que la premire rgle + convient, RewriteMap recherche la chane + statique dans le fichier de correspondances qui + renvoie un des noms de serveurs spcifis de manire alatoire, + ce dernier tant utilis dans la cible de la rgle + RewriteRule.

    + +

    Si vous voulez qu'un des serveurs soit plus souvent sollicit que + les autres (par exemple s'il possde plus de mmoire, et peut donc + traiter d'avantage de requtes), spcifiez-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 systme de fichiers vers un fichier de donnes 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'accs la cl + recherche est donc plus rapide.

    + +

    Vous pouvez ventuellement spcifier 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 bibliothque DBM approprie, + savoir celle qui a t utilise lors de la compilation de httpd.

    + +

    Pour crer un fichier dbm, crez tout d'abord un fichier de + correspondances au format texte comme dcrit dans la section txt. Traitez ensuite ce fichier avec + httxt2dbm :

    + +

    +$ httxt2dbm -i fichier-map.txt -o fichier-map.map +

    + +

    Vous pouvez alors faire rfrence au fichier obtenu dans votre +directive RewriteMap :

    +
    +RewriteMap mapname dbm:/etc/apache/mapfile.map
    +
    + + +
    +

    Notez qu'avec certains types dbm, plusieurs fichiers possdant le +mme nom de base sont crs. Par exemple, vous pouvez obtenir deux +fichiers nomms 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 cls 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 + redmarr, ce qui amliore les performances pour les tables de + correspondances consultes par de nombreuses requtes. +

    +
    + +
    top
    +
    +

    int: Fonction interne

    + + +

    Lorsque le type-map int est spcifi, la source est + une des fonctions RewriteMap internes disponibles. Les dveloppeurs + de modules peuvent fournir des fonctions internes supplmentaires en + les enregistrant via l'API ap_register_rewrite_mapfunc. + Les fonctions fournies par dfaut sont : +

    + +
      +
    • toupper:
      + Met tous les caractres de la cl en majuscules.
    • +
    • tolower:
      + Met tous les caractres de la cl en minuscules.
    • +
    • escape:
      + Protge les caractres spciaux de la cl en les + transformant en leur code hexadcimal.
    • +
    • unescape:
      + Retraduit les codes hexadcimaux de la cl en caractres + spciaux.
    • +
    + +

    + Pour utiliser une de ces fonctions, crez une + RewriteMap faisant rfrence cette fonction int, et + utilisez-la dans votre rgle RewriteRule : +

    + +

    Redirige un URI vers son quivalent en minuscules

    +
    +
    +RewriteMap lc int:tolower
    +RewriteRule (.*?[A-Z]+.*) ${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 plutt vous + tourner vers mod_speling. +

    +
    + +
    top
    +
    +

    prg: Programme de rcriture externe

    + +

    Lorque le type-map prg est spcifi, la source est + un chemin du systme de fichiers vers un programme excutable + destin effectuer la mise en correspondance. Il peut s'agir d'un + fichier binaire compil, ou d'un programme en langage interprt + comme Perl ou Python.

    + +

    Ce programme est lanc une fois au dmarrage du serveur HTTP + Apache, puis communique avec le moteur de rcriture via + STDIN et STDOUT. En d'autres termes, pour + chaque recherche de correspondance, il reoit un argument via + STDIN, et doit renvoyer en guise de rponse une chane + termine par un caractre nouvelle-ligne sur STDOUT. Si + la recherche de correspondance est infructueuse, le programme doit + l'indiquer en retournant la chane de quatre caractres + "NULL".

    + +

    Les programmes de rcriture externes ne sont pas lancs s'il + n'ont pas t dfinis dans un contexte o la directive RewriteEngine est dfinie + on.

    + +

    Cette fonctionnalit utilise le mutex rewrite-map + ncessaire la fiabilit des communications avec le programme. Le + mcanisme de mutex et le fichier verrou peuvent tre dfinis via la + directive Mutex.

    + +

    Voici un exemple simple qui remplace tous les tirets par des + caractres de soulignement dans l'URI de la requte.

    + +

    Configuration de la rcriture

    +
    +
    +RewriteMap d2u prg:/www/bin/dash2under.pl
    +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 caractres de soulignement
    +        print $_;
    +    }
    +    
    + + +

    Mises en garde !

    +
      +
    • Votre programme doit tre le plus +simple possible. Si le programme se bloque, httpd va attendre +indfiniment une rponse de sa part, et par consquent ne rpondra plus +aux requtes.
    • +
    • Assurez-vous de bien dsactiver 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 +diffrente dans +d'autres langages. Si les entres/sorties sont mises en tampon, httpd va +attendre une sortie, et va par consquent se bloquer.
    • +
    • Rappelez-vous qu'il n'existe qu'une copie du programme lanc au +dmarrage du serveur, et que toutes les requtes vont devoir passer par +ce goulot d'tranglement. Ceci peut provoquer des ralentissements +significatifs si de nombreuses requtes doivent tre traites, ou si le +script lui-mme est trs lent.
    • +
    +
    + +
    top
    +
    +

    dbd ou fastdbd: requte SQL

    + + +

    Lorsque le type-map dbd ou fastdbd est + spcifi, la source est une requte SQL SELECT qui reoit un + argument et renvoie une seule valeur.

    + +

    Pour que cette requte puisse tre excute, + mod_dbd doit tre configur pour attaquer la base + de donnes concerne.

    + +

    Ce type-map existe sous deux formes. Avec le type-map + dbd, la requte est excute chaque demande, tandis + qu'avec le type-map fastdbd, les recherches dans la + base de donnes sont mises en cache en interne. fastdbd + est donc plus efficace et donc plus rapide ; par contre, il ne + tiendra pas compte des modifications apportes la base de donnes + jusqu' ce que le serveur soit redmarr.

    + +

    Si une requte renvoie plusieurs enregistrements, un de ceux-ci + sera slectionn alatoirement.

    + +

    Exemple

    +RewriteMap ma-requete "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
    +    
    +
    + +
    top
    +
    +

    Rsum

    + + +

    La directive RewriteMap peut apparatre + plusieurs fois. Utilisez une directive + RewriteMap pour chaque fonction de mise en + correspondance pour dclarer son fichier de correspondances.

    + +

    Bien que l'on ne puisse pas dclarer de fonction + de mise en correspondance dans un contexte de rpertoire (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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/rewrite/tech.html.en b/docs/manual/rewrite/tech.html.en index 05871513..4a669fe1 100644 --- a/docs/manual/rewrite/tech.html.en +++ b/docs/manual/rewrite/tech.html.en @@ -194,7 +194,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/tech.html'; } })(window, document); //--> + + + +
    <-
    +

    Hbergement virtuel de masse avec mod_rewrite

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + + +

    Ce document est un complment la documentation de rfrence du module +mod_rewrite. Il dcrit comment crer des serveurs +virtuels dynamiquement configurs en utilisant +mod_rewrite.

    + +
    L'utilisation de mod_rewrite n'est pas la meilleure +mthode pour configurer des serveurs virtuels. Vous devez dans un +premier temps tenter de rsoudre votre problme via ces d'autres mthodes avant d'avoir +recours mod_rewrite. Voir aussi le document Comment viter l'utilisation de +mod_rewrite.
    + + +
    + +
    top
    +
    +

    Serveurs virtuels pour des noms d'htes arbitraires

    + + + +
    +
    Description :
    + +
    +

    Nous voulons crer automatiquement un serveur virtuel pour tout + nom d'hte qui peut tre rsolu dans notre domaine, sans avoir + crer de nouvelle section VirtualHost.

    + +

    Dans cet exemple, nous supposons que nous utilisons le nom d'hte + 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 vrifier le bon fonctionnement de la + rsolution DNS - Apache ne gre pas la rsolution de nom. Vous + devrez crer soit des enregistrements CNAME pour chaque nom d'hte, + soit un enregistrement DNS avec caractres gnriques. La cration + des enregistrements DNS est en dehors du sujet de ce document.
    + +

    La directive RewriteMap interne tolower permet de +s'assurer que les noms d'htes utiliss seront tous en minuscules, de +faon viter toute ambiguit dans la structure des rpertoires qui +doit tre cre.

    + +

    Les contenus des parenthses utilises dans une directive RewriteCond sont enregistrs dans les +rfrences arrires %1, %2, etc..., alors que +les contenus des parenthses utilises dans une directive RewriteRule le sont dans les +rfrences arrires $1, $2, etc...

    + +

    +Comme c'est le cas pour de nombreuses techniques discutes dans ce +document, mod_rewrite n'est vraiment pas la meilleure mthode pour +accomplir cette tche. Vous devez plutt vous tourner vers +mod_vhost_alias, car ce dernier sera bien plus mme +de grer tout ce qui est au del du domaine des fichiers statiques, +comme les contenus dynamiques et la rsolution des alias. +

    +
    +
    + +
    top
    +
    +

    Configuration dynamique de serveurs +virtuels via mod_rewrite

    + +

    Cet extrait du fichier httpd.conf permet d'obtenir + le mme rsultat que le premier exemple. + La premire moiti est trs 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'excute avant tout autre module + de traduction d'URI (comme mod_alias), il faut lui + ordonner explicitement d'ignorer toute URL susceptible d'tre + traite par ces autres modules. Et comme ces rgles auraient sinon + court-circuit toute directive ScriptAlias, nous devons + faire en sorte que mod_rewrite dclare explicitement + ces correspondances.

    + +
    +# extrait le nom de serveur de l'en-tte 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 ncessaire ici car on ne peut pas forcer l'excution
    +    # des CGI  la manire de ScriptAlias
    +    Options FollowSymLinks ExecCGI
    +</Directory>
    +
    +RewriteEngine On
    +
    +# un nom de serveur extrait d'un en-tte Host: peut tre dans n'importe
    +# quelle casse
    +
    +## on s'occupe tout d'abord des documents normaux :
    +# permet "Alias /icons/" de fonctionner - rpter 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 spar

    + +

    Cette construction utilise des fonctionnalits plus avances de + mod_rewrite pour effectuer la traduction depuis le + serveur virtuel vers la racine des documents, partir d'un fichier + de configuration spar. Elle est plus souple mais ncessite une + configuration plus complique.

    + +

    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
    +
    +# dfinit 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  ^/(.*)$                      %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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/sections.html.en b/docs/manual/sections.html.en index c5d641f6..8dd32b94 100644 --- a/docs/manual/sections.html.en +++ b/docs/manual/sections.html.en @@ -201,7 +201,7 @@ as any other requests starting with the /private string.

     <LocationMatch ^/private>
         Require all denied
    -</Location>
    +</LocationMatch>
     
    @@ -568,7 +568,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/sections.html'; } })(window, document); //--> + + + +
    <-
    +

    Le cache des objets partags du serveur HTTP Apache

    +
    +

    Langues Disponibles:  en  | + fr 

    +
    + +

    Le cache des objets partags est un concept de partage de donnes + de base entre tous les processus d'un serveur, sans se proccuper du + modle de threads et de processus. On + l'utilise lorsque les avantages apports par le partage de donnes + entre processus contrebalance la perte de performances conscutive + la communication interprocessus.

    +
    +
    top
    +
    +

    Fournisseurs du cache d'objets partags

    + +

    Le cache d'objets partags en tant que tel est une abstraction. + Il est implment par quatre modules diffrents. Pour pouvoir + utiliser le cache, un ou plusieurs de ces modules doivent tre + prsents et configurs.

    +

    Le seul lment de configuration consiste dfinir le + fournisseur de cache utiliser. Ceci est de la responsabilit des + modules qui utilisent le cache, et pour cela, ils activent la + slection via des directives telles que 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 installe supporte de multiples implmentations de DBM.
    +
    "dc" (mod_socache_dc)
    +
    Celui-ci utilise les bibliothques de mise en cache de sessions + distribues distcache.
    +
    "memcache" (mod_socache_memcache)
    +
    Celui-ci utilise le systme hautes performances de mise en + cache d'objets de mmoire distribue memcached.
    +
    "shmcb" (mod_socache_shmcb)
    +
    Celui-ci utilise un tampon cyclique hautes performances au + sein d'un segment de mmoire partage.
    +
    + +

    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 crer un cache de session bas sur + la chane de configuration spcifie. Le pointeur d'instance + renvoy dans le paramtre instance sera pass comme premier + argument des invocations subsquentes.
    + +
    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 caractres et permet + d'identifier de manire 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 chane peut tre utilise au + sein d'un systme de fichiers, il est conseill de n'utiliser que + des caractres alphanumriques [a-z0-9_-]. Si l'argument hints + n'est pas gal NULL, il fournit un ensemble d'indications au + fournisseur. La valeur retourne est le code d'erreur APR.
    + +
    void destroy(ap_socache_instance_t *instance, server_rec *s)
    +
    Cette fonction permet de dtruire l'instance de cache + spcifie.
    + +
    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 gards en cache une fonction pour traitement itratif.
    +
    + +
    +
    +

    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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    +
    + \ No newline at end of file diff --git a/docs/manual/ssl/index.html.en b/docs/manual/ssl/index.html.en index 4e43943d..ad56dd8e 100644 --- a/docs/manual/ssl/index.html.en +++ b/docs/manual/ssl/index.html.en @@ -60,7 +60,7 @@ provided by this module is provided in the mod_ssl  tr  |  zh-cn