2 ## httpd.conf -- Apache HTTP server configuration file
6 # Based upon the NCSA server configuration files originally by Rob McCool.
8 # This is the main Apache server configuration file. It contains the
9 # configuration directives that give the server its instructions.
10 # See <URL:http://httpd.apache.org/docs/> for detailed information about
13 # Do NOT simply read the instructions in here without understanding
14 # what they do. They're here only as hints or reminders. If you are unsure
15 # consult the online docs. You have been warned.
17 # After this file is processed, the server will look for and process
18 # /private/etc/httpd/srm.conf and then /private/etc/httpd/access.conf
19 # unless you have overridden these with ResourceConfig and/or
20 # AccessConfig directives here.
22 # The configuration directives are grouped into three basic sections:
23 # 1. Directives that control the operation of the Apache server process as a
24 # whole (the 'global environment').
25 # 2. Directives that define the parameters of the 'main' or 'default' server,
26 # which responds to requests that aren't handled by a virtual host.
27 # These directives also provide default values for the settings
28 # of all virtual hosts.
29 # 3. Settings for virtual hosts, which allow Web requests to be sent to
30 # different IP addresses or hostnames and have them handled by the
31 # same Apache server process.
33 # Configuration and logfile names: If the filenames you specify for many
34 # of the server's control files begin with "/" (or "drive:/" for Win32), the
35 # server will use that explicit path. If the filenames do *not* begin
36 # with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
37 # with ServerRoot set to "/usr/local/apache" will be interpreted by the
38 # server as "/usr/local/apache/logs/foo.log".
41 ### Section 1: Global Environment
43 # The directives in this section affect the overall operation of Apache,
44 # such as the number of concurrent requests it can handle or where it
45 # can find its configuration files.
49 # ServerType is either inetd, or standalone. Inetd mode is only supported on
55 # ServerRoot: The top of the directory tree under which the server's
56 # configuration, error, and log files are kept.
58 # NOTE! If you intend to place this on an NFS (or otherwise network)
59 # mounted filesystem then please read the LockFile documentation
60 # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
61 # you will save yourself a lot of trouble.
66 # The LockFile directive sets the path to the lockfile used when Apache
67 # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
68 # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
69 # its default value. The main reason for changing it is if the logs
70 # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
71 # DISK. The PID of the main server process is automatically appended to
74 #LockFile "/private/var/run/httpd.lock"
77 # PidFile: The file in which the server should record its process
78 # identification number when it starts.
80 PidFile "/tmp/WebKit/httpd.pid"
83 # ScoreBoardFile: File used to store internal server process information.
84 # Not all architectures require this. But if yours does (you'll know because
85 # this file will be created when you run Apache) then you *must* ensure that
86 # no two invocations of Apache share the same scoreboard file.
88 ScoreBoardFile "/tmp/WebKit/httpd.scoreboard"
91 # In the standard configuration, the server will process httpd.conf (this
92 # file, specified by the -f command line option), srm.conf, and access.conf
93 # in that order. The latter two files are now distributed empty, as it is
94 # recommended that all directives be kept in a single file for simplicity.
95 # The commented-out values below are the built-in defaults. You can have the
96 # server ignore these files altogether by using "/dev/null" (for Unix) or
97 # "nul" (for Win32) for the arguments to the directives.
99 ResourceConfig /dev/null
100 AccessConfig /dev/null
103 # Timeout: The number of seconds before receives and sends time out.
108 # KeepAlive: Whether or not to allow persistent connections (more than
109 # one request per connection). Set to "Off" to deactivate.
114 # MaxKeepAliveRequests: The maximum number of requests to allow
115 # during a persistent connection. Set to 0 to allow an unlimited amount.
116 # We recommend you leave this number high, for maximum performance.
118 MaxKeepAliveRequests 100
121 # KeepAliveTimeout: Number of seconds to wait for the next request from the
122 # same client on the same connection.
127 # Server-pool size regulation. Rather than making you guess how many
128 # server processes you need, Apache dynamically adapts to the load it
129 # sees --- that is, it tries to maintain enough server processes to
130 # handle the current load, plus a few spare servers to handle transient
131 # load spikes (e.g., multiple simultaneous requests from a single
134 # It does this by periodically checking how many servers are waiting
135 # for a request. If there are fewer than MinSpareServers, it creates
136 # a new spare. If there are more than MaxSpareServers, some of the
137 # spares die off. The default values are probably OK for most sites.
143 # Number of servers to start initially --- should be a reasonable ballpark
149 # Limit on total number of servers running, i.e., limit on the number
150 # of clients who can simultaneously connect --- if this limit is ever
151 # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
152 # It is intended mainly as a brake to keep a runaway server from taking
153 # the system with it as it spirals down...
158 # MaxRequestsPerChild: the number of requests each child process is
159 # allowed to process before the child dies. The child will exit so
160 # as to avoid problems after prolonged use when Apache (and maybe the
161 # libraries it uses) leak memory or other resources. On most systems, this
162 # isn't really needed, but a few (such as Solaris) do have notable leaks
163 # in the libraries. For these platforms, set to something like 10000
164 # or so; a setting of 0 means unlimited.
166 # NOTE: This value does not include keepalive requests after the initial
167 # request per connection. For example, if a child process handles
168 # an initial request and 10 subsequent "keptalive" requests, it
169 # would only count as 1 request towards this limit.
171 MaxRequestsPerChild 100000
174 # Listen: Allows you to bind Apache to specific IP addresses and/or
175 # ports, instead of the default. See also the <VirtualHost>
178 # Configured from the httpd command line for WebKit layout tests.
181 #Listen 127.0.0.1:8000
184 # Dynamic Shared Object (DSO) Support
186 # To be able to use the functionality of a module which was built as a DSO you
187 # have to place corresponding `LoadModule' lines at this location so the
188 # directives contained in it are actually available _before_ they are used.
189 # Please read the file http://httpd.apache.org/docs/dso.html for more
190 # details about the DSO mechanism and run `httpd -l' for the list of already
191 # built-in (statically linked and thus always available) modules in your httpd
194 # Note: The order in which modules are loaded is important. Don't change
195 # the order below without expert advice.
198 # LoadModule foo_module libexec/mod_foo.so
199 #LoadModule vhost_alias_module libexec/httpd/mod_vhost_alias.so
200 #LoadModule env_module libexec/httpd/mod_env.so
201 LoadModule config_log_module libexec/httpd/mod_log_config.so
202 #LoadModule mime_magic_module libexec/httpd/mod_mime_magic.so
203 LoadModule mime_module libexec/httpd/mod_mime.so
204 LoadModule negotiation_module libexec/httpd/mod_negotiation.so
205 #LoadModule status_module libexec/httpd/mod_status.so
206 #LoadModule info_module libexec/httpd/mod_info.so
207 LoadModule includes_module libexec/httpd/mod_include.so
208 #LoadModule autoindex_module libexec/httpd/mod_autoindex.so
209 #LoadModule dir_module libexec/httpd/mod_dir.so
210 LoadModule cgi_module libexec/httpd/mod_cgi.so
211 LoadModule asis_module libexec/httpd/mod_asis.so
212 LoadModule imap_module libexec/httpd/mod_imap.so
213 LoadModule action_module libexec/httpd/mod_actions.so
214 #LoadModule speling_module libexec/httpd/mod_speling.so
215 #LoadModule userdir_module libexec/httpd/mod_userdir.so
216 LoadModule alias_module libexec/httpd/mod_alias.so
217 LoadModule rewrite_module libexec/httpd/mod_rewrite.so
218 LoadModule access_module libexec/httpd/mod_access.so
219 LoadModule auth_module libexec/httpd/mod_auth.so
220 #LoadModule anon_auth_module libexec/httpd/mod_auth_anon.so
221 #LoadModule dbm_auth_module libexec/httpd/mod_auth_dbm.so
222 #LoadModule digest_module libexec/httpd/mod_digest.so
223 #LoadModule proxy_module libexec/httpd/libproxy.so
224 #LoadModule cern_meta_module libexec/httpd/mod_cern_meta.so
225 #LoadModule expires_module libexec/httpd/mod_expires.so
226 LoadModule headers_module libexec/httpd/mod_headers.so
227 #LoadModule usertrack_module libexec/httpd/mod_usertrack.so
228 #LoadModule log_forensic_module libexec/httpd/mod_log_forensic.so
229 #LoadModule unique_id_module libexec/httpd/mod_unique_id.so
230 #LoadModule setenvif_module libexec/httpd/mod_setenvif.so
231 #LoadModule dav_module libexec/httpd/libdav.so
232 #LoadModule ssl_module libexec/httpd/libssl.so
233 #LoadModule perl_module libexec/httpd/libperl.so
234 LoadModule php4_module libexec/httpd/libphp4.so
235 LoadModule hfs_apple_module libexec/httpd/mod_hfs_apple.so
236 #LoadModule bonjour_module libexec/httpd/mod_bonjour.so
238 # Reconstruction of the complete module list from all available modules
239 # (static and shared ones) to achieve correct module execution order.
240 # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
242 #AddModule mod_vhost_alias.c
244 AddModule mod_log_config.c
245 #AddModule mod_mime_magic.c
247 AddModule mod_negotiation.c
248 #AddModule mod_status.c
249 #AddModule mod_info.c
250 AddModule mod_include.c
251 #AddModule mod_autoindex.c
256 AddModule mod_actions.c
257 #AddModule mod_speling.c
258 #AddModule mod_userdir.c
259 AddModule mod_alias.c
260 AddModule mod_rewrite.c
261 AddModule mod_access.c
263 #AddModule mod_auth_anon.c
264 #AddModule mod_auth_dbm.c
265 #AddModule mod_digest.c
266 #AddModule mod_proxy.c
267 #AddModule mod_cern_meta.c
268 #AddModule mod_expires.c
269 AddModule mod_headers.c
270 #AddModule mod_usertrack.c
271 #AddModule mod_log_forensic.c
272 #AddModule mod_unique_id.c
274 #AddModule mod_setenvif.c
277 #AddModule mod_perl.c
279 AddModule mod_hfs_apple.c
280 #AddModule mod_bonjour.c
282 ### Section 2: 'Main' server configuration
284 # The directives in this section set up the values used by the 'main'
285 # server, which responds to any requests that aren't handled by a
286 # <VirtualHost> definition. These values also provide defaults for
287 # any <VirtualHost> containers you may define later in the file.
289 # All of these directives may appear inside <VirtualHost> containers,
290 # in which case these default settings will be overridden for the
291 # virtual host being defined.
295 # ServerName allows you to set a host name which is sent back to clients for
296 # your server if it's different than the one the program would get (i.e., use
297 # "www" instead of the host's real name).
299 # Note: You cannot just invent host names and hope they work. The name you
300 # define here must be a valid DNS name for your host. If you don't understand
301 # this, ask your network administrator.
302 # If your host doesn't have a registered DNS name, enter its IP address here.
303 # You will have to access it by its address (e.g., http://123.45.67.89/)
304 # anyway, and this will make redirections work in a sensible way.
306 # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
307 # machine always knows itself by this address. If you use Apache strictly for
308 # local testing and development, you may use 127.0.0.1 as the server name.
313 # DocumentRoot: The directory out of which you will serve your
314 # documents. By default, all requests are taken from this directory, but
315 # symbolic links and aliases may be used to point to other locations.
317 # Configured from the httpd command line for WebKit layout tests.
318 #DocumentRoot "/Library/WebServer/Documents"
321 # Each directory to which Apache has access, can be configured with respect
322 # to which services and features are allowed and/or disabled in that
323 # directory (and its subdirectories).
327 # This may also be "None", "All", or any combination of "Indexes",
328 # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
330 # Note that "MultiViews" must be named *explicitly* --- "Options All"
331 # doesn't give it to you.
333 Options Indexes FollowSymLinks MultiViews ExecCGI Includes
336 # This controls which options the .htaccess files in directories can
337 # override. Can also be "All", or any combination of "Options", "FileInfo",
338 # "AuthConfig", and "Limit"
343 # Controls who can get stuff from this server.
350 # AccessFileName: The name of the file to look for in each directory
351 # for access control information.
353 AccessFileName .htaccess
356 # The following lines prevent .htaccess files from being viewed by
357 # Web clients. Since .htaccess files often contain authorization
358 # information, access is disallowed for security reasons. Comment
359 # these lines out if you want Web visitors to see the contents of
360 # .htaccess files. If you change the AccessFileName directive above,
361 # be sure to make the corresponding changes here.
363 # Also, folks tend to use names such as .htpasswd for password
364 # files, so this will protect those as well.
366 <Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
373 # Apple specific filesystem protection.
382 <Directory ~ ".*\.\.namedfork">
389 # CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
390 # document that was negotiated on the basis of content. This asks proxy
391 # servers not to cache the document. Uncommenting the following line disables
392 # this behavior, and proxies will be allowed to cache the documents.
397 # UseCanonicalName: (new for 1.3) With this setting turned on, whenever
398 # Apache needs to construct a self-referencing URL (a URL that refers back
399 # to the server the response is coming from) it will use ServerName and
400 # Port to form a "canonical" name. With this setting off, Apache will
401 # use the hostname:port that the client supplied, when possible. This
402 # also affects SERVER_NAME and SERVER_PORT in CGI scripts.
407 # TypesConfig describes where the mime.types file (or equivalent) is
410 # Configured from the httpd command line for WebKit layout tests.
412 #<IfModule mod_mime.c>
413 # TypesConfig /private/etc/httpd/mime.types
417 # DefaultType is the default MIME type the server will use for a document
418 # if it cannot otherwise determine one, such as from filename extensions.
419 # If your server contains mostly text or HTML documents, "text/plain" is
420 # a good value. If most of your content is binary, such as applications
421 # or images, you may want to use "application/octet-stream" instead to
422 # keep browsers from trying to display binary files as though they are
425 DefaultType text/plain
428 # HostnameLookups: Log the names of clients or just their IP addresses
429 # e.g., www.apache.org (on) or 204.62.129.132 (off).
430 # The default is off because it'd be overall better for the net if people
431 # had to knowingly turn this feature on, since enabling it means that
432 # each client request will result in AT LEAST one lookup request to the
438 # ErrorLog: The location of the error log file.
439 # If you do not specify an ErrorLog directive within a <VirtualHost>
440 # container, error messages relating to that virtual host will be
441 # logged here. If you *do* define an error logfile for a <VirtualHost>
442 # container, that host's errors will be logged there and not here.
444 # Configured from the httpd command line for WebKit layout tests.
445 #ErrorLog "/tmp/layout-test-results/error_log"
448 # LogLevel: Control the number of messages logged to the error_log.
449 # Possible values include: debug, info, notice, warn, error, crit,
455 # The following directives define some format nicknames for use with
456 # a CustomLog directive (see below).
458 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
459 LogFormat "%h %l %u %t \"%r\" %>s %b" common
460 LogFormat "%{Referer}i -> %U" referer
461 LogFormat "%{User-agent}i" agent
464 # The location and format of the access logfile (Common Logfile Format).
465 # If you do not define any access logfiles within a <VirtualHost>
466 # container, they will be logged here. Contrariwise, if you *do*
467 # define per-<VirtualHost> access logfiles, transactions will be
468 # logged therein and *not* in this file.
470 # Configured from the httpd command line for WebKit layout tests.
471 #CustomLog "/tmp/layout-test-results/access_log" common
474 # If you prefer a single logfile with access, agent, and referer information
475 # (Combined Logfile Format) you can use the following directive.
477 #CustomLog "/tmp/layout-test-results/access_log" combined
480 # Optionally add a line containing the server version and virtual host
481 # name to server-generated pages (error documents, FTP directory listings,
482 # mod_status and mod_info output etc., but not CGI generated documents).
483 # Set to "EMail" to also include a mailto: link to the ServerAdmin.
484 # Set to one of: On | Off | EMail
489 # Aliases: Add here as many aliases as you need (with no limit). The format is
490 # Alias fakename realname
492 <IfModule mod_alias.c>
497 # Redirect allows you to tell clients about documents which used to exist in
498 # your server's namespace, but do not anymore. This allows you to tell the
499 # clients where to look for the relocated document.
500 # Format: Redirect old-URI new-URL
506 <IfModule mod_mime.c>
509 # AddLanguage allows you to specify the language of a document. You can
510 # then use content negotiation to give a browser a file in a language
513 # Note 1: The suffix does not have to be the same as the language
514 # keyword --- those with documents in Polish (whose net-standard
515 # language code is pl) may wish to use "AddLanguage pl .po" to
516 # avoid the ambiguity with the common suffix for perl scripts.
518 # Note 2: The example entries below illustrate that in quite
519 # some cases the two character 'Language' abbreviation is not
520 # identical to the two character 'Country' code for its country,
521 # E.g. 'Danmark/dk' versus 'Danish/da'.
523 # Note 3: In the case of 'ltz' we violate the RFC by using a three char
524 # specifier. But there is 'work in progress' to fix this and get
525 # the reference data for rfc1766 cleaned up.
527 # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
528 # French (fr) - German (de) - Greek-Modern (el)
529 # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
530 # Portugese (pt) - Luxembourgeois* (ltz)
531 # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs)
532 # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
543 AddCharset ISO-8859-8 .iso8859-8
546 AddCharset ISO-2022-JP .jis
548 AddCharset ISO-2022-KR .iso-kr
552 AddCharset ISO-8859-2 .iso-pl
554 AddLanguage pt-br .pt-br
559 AddLanguage cs .cz .cs
561 AddLanguage zh-TW .zh-tw
562 AddCharset Big5 .Big5 .big5
563 AddCharset WINDOWS-1251 .cp-1251
564 AddCharset CP866 .cp866
565 AddCharset ISO-8859-5 .iso-ru
566 AddCharset KOI8-R .koi8-r
567 AddCharset UCS-2 .ucs2
568 AddCharset UCS-4 .ucs4
569 AddCharset UTF-8 .utf8
571 # LanguagePriority allows you to give precedence to some languages
572 # in case of a tie during content negotiation.
574 # Just list the languages in decreasing order of preference. We have
575 # more or less alphabetized them here. You probably want to change this.
577 <IfModule mod_negotiation.c>
578 LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
582 # AddType allows you to tweak mime.types without actually editing it, or to
583 # make certain files to be certain types.
585 AddType application/x-tar .tgz
588 # AddEncoding allows you to have certain browsers uncompress
589 # information on the fly. Note: Not all browsers support this.
590 # Despite the name similarity, the following Add* directives have nothing
591 # to do with the FancyIndexing customization directives above.
593 AddEncoding x-compress .Z
594 AddEncoding x-gzip .gz .tgz
596 # If the AddEncoding directives above are commented-out, then you
597 # probably should define those extensions to indicate media types:
599 #AddType application/x-compress .Z
600 #AddType application/x-gzip .gz .tgz
603 # AddHandler allows you to map certain file extensions to "handlers",
604 # actions unrelated to filetype. These can be either built into the server
605 # or added with the Action command (see below)
607 # If you want to use server side includes, or CGI outside
608 # ScriptAliased directories, uncomment the following lines.
610 # To use CGI scripts:
612 AddHandler cgi-script .cgi
615 # To use server-parsed HTML files
617 AddType text/html .shtml
618 AddHandler server-parsed .shtml
621 # Uncomment the following line to enable Apache's send-asis HTTP file
624 AddHandler send-as-is asis
627 # If you wish to use server-parsed imagemap files, use
629 #AddHandler imap-file map
632 # To enable type maps, you might want to use
634 #AddHandler type-map var
637 # End of document types.
640 # Action lets you define media types that will execute a script whenever
641 # a matching file is called. This eliminates the need for repeated URL
642 # pathnames for oft-used CGI file processors.
643 # Format: Action media/type /cgi-script/location
644 # Format: Action handler-name /cgi-script/location
648 # MetaDir: specifies the name of the directory in which Apache can find
649 # meta information files. These files contain additional HTTP headers
650 # to include when sending the document
655 # MetaSuffix: specifies the file name suffix for the file containing the
661 # Customizable error response (Apache style)
662 # these come in three flavors
665 #ErrorDocument 500 "The server made a boo boo.
666 # n.b. the single leading (") marks it as text, it does not get output
669 #ErrorDocument 404 /missing.html
670 # to redirect to local URL /missing.html
671 #ErrorDocument 404 /cgi-bin/missing_handler.pl
672 # N.B.: You can redirect to a script or a document using server-side-includes.
674 # 3) external redirects
675 #ErrorDocument 402 http://some.other-server.com/subscription_info.html
676 # N.B.: Many of the environment variables associated with the original
677 # request will *not* be available to such a script.
680 # Proxy Server directives. Uncomment the following lines to
681 # enable the proxy server:
683 #<IfModule mod_proxy.c>
686 # <Directory proxy:*>
689 # Allow from .your-domain.com
693 # Enable/disable the handling of HTTP/1.1 "Via:" headers.
694 # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
695 # Set to one of: Off | On | Full | Block
700 # To enable the cache as well, edit and uncomment the following lines:
701 # (no cacheing without CacheRoot)
703 # CacheRoot "/private/var/run/proxy"
707 # CacheLastModifiedFactor 0.1
708 # CacheDefaultExpire 1
709 # NoCache a-domain.com another-domain.edu joes.garage-sale.com
712 # End of proxy directives.
715 <IfModule mod_php4.c>
716 # If php is turned on, we repsect .php and .phps files.
717 AddType application/x-httpd-php .php
718 AddType application/x-httpd-php-source .phps
720 # Since most users will want index.php to work we
721 # also automatically enable index.php
723 DirectoryIndex index.html index.php
727 <IfModule mod_rewrite.c>
729 RewriteCond %{REQUEST_METHOD} ^TRACE