2 ## apache.conf -- Apache HTTP server configuration file
5 ##### Global Environment
6 # The directives in this section affect the overall operation of Apache,
7 # such as the number of concurrent requests it can handle or where it can
8 # find its configuration files.
11 # is either inetd, or standalone. Inetd mode is only supported on Unix
17 # The file in which the server should record its process identification
18 # number when it starts.
20 PidFile /var/run/apache.pid
23 # The number of seconds before receives and sends time out.
25 # Number of seconds to wait for the next request from the same client on the
32 # Whether or not to allow persistent connections (more than one request per
33 # connection). Set to "Off" to deactivate.
34 ### MaxKeepAliveRequests
35 # The maximum number of requests to allow during a persistent connection.
36 # Set to 0 to allow an unlimited amount. We recommend you leave this number
37 # high, for maximum performance.
40 MaxKeepAliveRequests 100
43 # The top of the directory tree under which the server's configuration,
44 # error, and log files are kept.
46 # NOTE! If you intend to place this on an NFS (or otherwise network)
47 # mounted filesystem then please read the LockFile documentation
48 # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
49 # you will save yourself a lot of trouble.
51 # Do NOT add a slash at the end of the directory path.
56 # The LockFile directive sets the path to the lockfile used when Apache
57 # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
58 # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
59 # its default value. The main reason for changing it is if the logs
60 # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
61 # DISK. The PID of the main server process is automatically appended to
64 LockFile /var/run/apache.lock
67 # File used to store internal server process information. Not all
68 # architectures require this. But if yours does (you'll know because this
69 # file will be created when you run Apache) then you *must* ensure that no
70 # two invocations of Apache share the same scoreboard file.
72 ScoreBoardFile /var/run/apache.scoreboard
75 # In the standard configuration, the server will process this file,
76 # srm.conf, and access.conf in that order. The latter two files are
77 # now distributed empty, as it is recommended that all directives
78 # be kept in a single file for simplicity. The commented-out values
79 # below are the built-in defaults. You can have the server ignore
80 # these files altogether by using "/dev/null" (for Unix) or
81 # "nul" (for Win32) for the arguments to the directives.
83 ResourceConfig /dev/null
84 AccessConfig /dev/null
87 # Server-pool size regulation. Rather than making you guess how many
88 # server processes you need, Apache dynamically adapts to the load it
89 # sees --- that is, it tries to maintain enough server processes to
90 # handle the current load, plus a few spare servers to handle transient
91 # load spikes (e.g., multiple simultaneous requests from a single
94 # It does this by periodically checking how many servers are waiting
95 # for a request. If there are fewer than MinSpareServers, it creates
96 # a new spare. If there are more than MaxSpareServers, some of the
97 # spares die off. The default values are probably OK for most sites.
103 # Number of servers to start initially --- should be a reasonable ballpark
109 # Limit on total number of servers running, i.e., limit on the number
110 # of clients who can simultaneously connect --- if this limit is ever
111 # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
112 # It is intended mainly as a brake to keep a runaway server from taking
113 # the system with it as it spirals down...
118 # MaxRequestsPerChild: the number of requests each child process is
119 # allowed to process before the child dies. The child will exit so
120 # as to avoid problems after prolonged use when Apache (and maybe the
121 # libraries it uses) leak memory or other resources. On most systems, this
122 # isn't really needed, but a few (such as Solaris) do have notable leaks
123 # in the libraries. For these platforms, set to something like 10000
124 # or so; a setting of 0 means unlimited.
126 # NOTE: This value does not include keepalive requests after the initial
127 # request per connection. For example, if a child process handles
128 # an initial request and 10 subsequent "keptalive" requests, it
129 # would only count as 1 request towards this limit.
131 MaxRequestsPerChild 30
134 # Allows you to bind Apache to specific IP addresses and/or ports, in
135 # addition to the default. See also the <VirtualHost> directive.
137 #Listen 12.34.56.78:80
140 # Listen can take two arguments.
141 # (this is an extension for supporting IPv6 addresses)
146 # You can support virtual hosts with this option. This directive is used to
147 # tell the server which IP address to listen to. It can either contain "*",
148 # an IP address, or a fully qualified Internet domain name. See also the
149 # <VirtualHost> and Listen directives.
154 ### Section 2: Dynamic Shared Object (DSO) Support
157 # LoadModule foo_module libexec/mod_foo.so
159 # Reconstruction of the complete module list from all available modules
160 # (static and shared ones) to achieve correct module execution order.
161 # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
166 # controls whether Apache will generate "full" status information
167 # (ExtendedStatus On) or just basic information (ExtendedStatus Off) when
168 # the "server-status" handler is called. The default is Off.
172 ### Section 3: 'Main' server configuration
174 # The directives in this section set up the values used by the 'main'
175 # server, which responds to any requests that aren't handled by a
176 # <VirtualHost> definition. These values also provide defaults for
177 # any <VirtualHost> containers you may define later in the file.
179 # All of these directives may appear inside <VirtualHost> containers,
180 # in which case these default settings will be overridden for the
181 # virtual host being defined.
185 # If your ServerType directive (set earlier in the 'Global Environment'
186 # section) is set to "inetd", the next few directives don't have any
187 # effect since their settings are defined by the inetd configuration.
188 # Skip ahead to the ServerAdmin directive.
192 # Port: The port to which the standalone server listens. For
193 # ports < 1023, you will need httpd to be run as root initially.
198 # If you wish httpd to run as a different user or group, you must run
199 # httpd as root initially and it will switch.
205 # ServerAdmin: Your address, where problems with the server should be
206 # e-mailed. This address appears on some server-generated pages, such
207 # as error documents.
209 ServerAdmin admin@your_domain.org
212 # ServerName allows you to set a host name which is sent back to clients for
213 # your server if it's different than the one the program would get (i.e., use
214 # "www" instead of the host's real name).
216 # Note: You cannot just invent host names and hope they work. The name you
217 # define here must be a valid DNS name for your host. If you don't understand
218 # this, ask your network administrator.
219 # If your host doesn't have a registered DNS name, enter its IP address here.
220 # You will have to access it by its address (e.g., http://123.45.67.89/)
221 # anyway, and this will make redirections work in a sensible way.
223 # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
224 # machine always knows itself by this address. If you use Apache strictly for
225 # local testing and development, you may use 127.0.0.1 as the server name.
227 #ServerName new.host.name
230 # DocumentRoot: The directory out of which you will serve your
231 # documents. By default, all requests are taken from this directory, but
232 # symbolic links and aliases may be used to point to other locations.
234 DocumentRoot "/home/services/apache/html"
237 # Each directory to which Apache has access, can be configured with respect
238 # to which services and features are allowed and/or disabled in that
239 # directory (and its subdirectories).
241 # First, we configure the "default" to be a very restrictive set of
245 Options FollowSymLinks
250 # Note that from this point forward you must specifically allow
251 # particular features to be enabled - so if something's not working as
252 # you might expect, make sure that you have specifically enabled it
257 # This should be changed to whatever you set DocumentRoot to.
259 <Directory "/home/services/apache/html">
262 # This may also be "None", "All", or any combination of "Indexes",
263 # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
265 # Note that "MultiViews" must be named *explicitly* --- "Options All"
266 # doesn't give it to you.
268 Options Indexes FollowSymLinks MultiViews
271 # This controls which options the .htaccess files in directories can
272 # override. Can also be "All", or any combination of "Options", "FileInfo",
273 # "AuthConfig", and "Limit"
278 # Controls who can get stuff from this server.
285 # UserDir: The name of the directory which is appended onto a user's home
286 # directory if a ~user request is received.
291 # Control access to UserDir directories. The following is an example
292 # for a site where these directories are restricted to read-only.
294 #<Directory /home/users/*/public_html>
295 # AllowOverride FileInfo AuthConfig Limit
296 # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
297 # <Limit GET POST OPTIONS PROPFIND>
301 # <LimitExcept GET POST OPTIONS PROPFIND>
308 # DirectoryIndex: Name of the file or files to use as a pre-written HTML
309 # directory index. Separate multiple entries with spaces.
312 DirectoryIndex index.html index.htm index.shtml index.cgi index.php
316 # AccessFileName: The name of the file to look for in each directory
317 # for access control information.
319 AccessFileName .htaccess
322 # The following lines prevent .htaccess files from being viewed by
323 # Web clients. Since .htaccess files often contain authorization
324 # information, access is disallowed for security reasons. Comment
325 # these lines out if you want Web visitors to see the contents of
326 # .htaccess files. If you change the AccessFileName directive above,
327 # be sure to make the corresponding changes here.
329 # Also, folks tend to use names such as .htpasswd for password
330 # files, so this will protect those as well.
339 # CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
340 # document that was negotiated on the basis of content. This asks proxy
341 # servers not to cache the document. Uncommenting the following line disables
342 # this behavior, and proxies will be allowed to cache the documents.
347 # UseCanonicalName: (new for 1.3) With this setting turned on, whenever
348 # Apache needs to construct a self-referencing URL (a URL that refers back
349 # to the server the response is coming from) it will use ServerName and
350 # Port to form a "canonical" name. With this setting off, Apache will
351 # use the hostname:port that the client supplied, when possible. This
352 # also affects SERVER_NAME and SERVER_PORT in CGI scripts.
357 # TypesConfig describes where the mime.types file (or equivalent) is
358 # to be found. /etc/mime.types is provided by mailcap package.
360 TypesConfig /etc/mime.types
363 # DefaultType is the default MIME type the server will use for a document
364 # if it cannot otherwise determine one, such as from filename extensions.
365 # If your server contains mostly text or HTML documents, "text/plain" is
366 # a good value. If most of your content is binary, such as applications
367 # or images, you may want to use "application/octet-stream" instead to
368 # keep browsers from trying to display binary files as though they are
371 DefaultType text/plain
374 # The mod_mime_magic module allows the server to use various hints from the
375 # contents of the file itself to determine its type. The MIMEMagicFile
376 # directive tells the module where the hint definitions are located.
377 # mod_mime_magic is not part of the default server (you have to add
378 # it yourself with a LoadModule [see the DSO paragraph in the 'Global
379 # Environment' section], or recompile the server and include mod_mime_magic
380 # as part of the configuration), so it's enclosed in an <IfModule> container.
381 # This means that the MIMEMagicFile directive will only be processed if the
382 # module is part of the server.
384 <IfModule mod_mime_magic.c>
385 MIMEMagicFile /etc/apache/magic
389 # HostnameLookups: Log the names of clients or just their IP addresses
390 # e.g., www.apache.org (on) or 204.62.129.132 (off).
391 # The default is off because it'd be overall better for the net if people
392 # had to knowingly turn this feature on, since enabling it means that
393 # each client request will result in AT LEAST one lookup request to the
399 # The following directives define some format nicknames for use with
400 # a CustomLog directive (see below).
402 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
403 LogFormat "%h %l %u %t \"%r\" %>s %b" common
404 LogFormat "%{Referer}i -> %U" referer
405 LogFormat "%{User-agent}i" agent
408 # ErrorLog: The location of the error log file.
409 # If you do not specify an ErrorLog directive within a <VirtualHost>
410 # container, error messages relating to that virtual host will be
411 # logged here. If you *do* define an error logfile for a <VirtualHost>
412 # container, that host's errors will be logged there and not here.
414 ErrorLog /var/log/apache/error_log
416 # The location and format of the access logfile (Common Logfile Format).
417 # If you do not define any access logfiles within a <VirtualHost>
418 # container, they will be logged here. Contrariwise, if you *do*
419 # define per-<VirtualHost> access logfiles, transactions will be
420 # logged therein and *not* in this file.
422 CustomLog /var/log/apache/access_log common
423 CustomLog /var/log/apache/referer_log referer
424 CustomLog /var/log/apache/agent_log agent
427 # LogLevel: Control the number of messages logged to the error_log.
428 # Possible values include: debug, info, notice, warn, error, crit,
434 # Optionally add a line containing the server version and virtual host
435 # name to server-generated pages (error documents, FTP directory listings,
436 # mod_status and mod_info output etc., but not CGI generated documents).
437 # Set to "EMail" to also include a mailto: link to the ServerAdmin.
438 # Set to one of: On | Off | EMail
440 ServerSignature Email
443 # Aliases: Add here as many aliases as you need (with no limit). The format is
444 # Alias fakename realname
446 # Note that if you include a trailing / on fakename then the server will
447 # require it to be present in the URL. So "/icons" isn't aliased in this
448 # example, only "/icons/"..
450 Alias /icons/ "/home/services/apache/icons/"
452 <Directory "/home/services/apache/icons">
453 Options Indexes MultiViews
459 Alias /manual/ "/home/services/apache/manual/"
461 <Directory "/home/services/apache/manual">
462 Options Indexes MultiViews
470 # ScriptAlias: This controls which directories contain server scripts.
471 # ScriptAliases are essentially the same as Aliases, except that
472 # documents in the realname directory are treated as applications and
473 # run by the server when requested rather than as documents sent to the client.
474 # The same rules about trailing "/" apply to ScriptAlias directives as to
477 ScriptAlias /cgi-bin/ "/home/services/apache/cgi-bin/"
480 # "/home/services/apache/cgi-bin" should be changed to whatever your
481 # ScriptAliased CGI directory exists, if you have that configured.
483 <Directory "/home/services/apache/cgi-bin">
491 # Redirect allows you to tell clients about documents which used to exist in
492 # your server's namespace, but do not anymore. This allows you to tell the
493 # clients where to look for the relocated document.
494 # Format: Redirect old-URI new-URL
498 # Directives controlling the display of server-generated directory listings.
502 # FancyIndexing is whether you want fancy directory indexing or standard
504 IndexOptions FancyIndexing
507 # AddIcon* directives tell the server which icon to show for different
508 # files or filename extensions. These are only displayed for
509 # FancyIndexed directories.
511 AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
513 AddIconByType (TXT,/icons/text.gif) text/*
514 AddIconByType (IMG,/icons/image2.gif) image/*
515 AddIconByType (SND,/icons/sound2.gif) audio/*
516 AddIconByType (VID,/icons/movie.gif) video/*
518 AddIcon /icons/binary.gif .bin .exe
519 AddIcon /icons/binhex.gif .hqx
520 AddIcon /icons/tar.gif .tar
521 AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
522 AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
523 AddIcon /icons/a.gif .ps .ai .eps
524 AddIcon /icons/layout.gif .html .shtml .htm .pdf
525 AddIcon /icons/text.gif .txt
526 AddIcon /icons/c.gif .c
527 AddIcon /icons/p.gif .pl .py
528 AddIcon /icons/f.gif .for
529 AddIcon /icons/dvi.gif .dvi
530 AddIcon /icons/uuencoded.gif .uu
531 AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
532 AddIcon /icons/tex.gif .tex
533 AddIcon /icons/bomb.gif core
535 AddIcon /icons/back.gif ..
536 AddIcon /icons/hand.right.gif README
537 AddIcon /icons/folder.gif ^^DIRECTORY^^
538 AddIcon /icons/blank.gif ^^BLANKICON^^
541 # DefaultIcon is which icon to show for files which do not have an icon
544 DefaultIcon /icons/unknown.gif
547 # AddDescription allows you to place a short description after a file in
548 # server-generated indexes. These are only displayed for FancyIndexed
550 # Format: AddDescription "description" filename
552 AddDescription "GZIP compressed document" .gz
553 AddDescription "tar archive" .tar
554 AddDescription "GZIP compressed tar archive" .tgz
557 # ReadmeName is the name of the README file the server will look for by
558 # default, and append to directory listings.
560 # HeaderName is the name of a file which should be prepended to
563 # If MultiViews are amongst the Options in effect, the server will
564 # first look for name.html and include it if found. If name.html
565 # doesn't exist, the server will then look for name.txt and include
566 # it as plaintext if found.
572 # IndexIgnore is a set of filenames which directory indexing should ignore
573 # and not include in the listing. Shell-style wildcarding is permitted.
575 IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
578 # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
579 # information on the fly. Note: Not all browsers support this.
580 # Despite the name similarity, the following Add* directives have nothing
581 # to do with the FancyIndexing customization directives above.
583 AddEncoding x-compress Z
584 AddEncoding x-gzip gz
587 # AddLanguage allows you to specify the language of a document. You can
588 # then use content negotiation to give a browser a file in a language
591 # Note 1: The suffix does not have to be the same as the language
592 # keyword --- those with documents in Polish (whose net-standard
593 # language code is pl) may wish to use "AddLanguage pl .po" to
594 # avoid the ambiguity with the common suffix for perl scripts.
596 # Note 2: The example entries below illustrate that in quite
597 # some cases the two character 'Language' abbriviation is not
598 # identical to the two character 'Country' code for its country,
599 # E.g. 'Danmark/dk' versus 'Danish/da'.
601 # Note 3: In the case of 'ltz' we violate the RFC by using a three char
602 # specifier. But there is 'work in progress' to fix this and get
603 # the reference data for rfc1766 cleaned up.
605 # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
606 # French (fr) - German (de) - Greek-Modern (el)
607 # Italian (it) - Korean (kr) - Norwegian (no)
608 # Portugese (pt) - Luxembourgeois* (ltz)
609 # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
610 # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
632 AddLanguage pt-br .pt-br
636 AddLanguage zh-tw .tw
638 AddCharset Big5 .Big5 .big5
639 AddCharset CP866 .cp866
640 AddCharset ISO-8859-2 .iso-pl
641 AddCharset ISO-8859-5 .iso-ru
642 AddCharset ISO-8859-8 .iso8859-8
643 AddCharset ISO-2022-JP .his
644 AddCharset ISO-2022-KR .iso-kr
645 AddCharset KOI8-R .koi8-r
646 AddCharset UCS-2 .ucs2
647 AddCharset UCS-4 .ucs4
648 AddCharset UTF-8 .utf8
649 AddCharset WINDOWS-1251 .cp-1251
652 # LanguagePriority allows you to give precedence to some languages
653 # in case of a tie during content negotiation.
654 # Just list the languages in decreasing order of preference.
656 LanguagePriority en pl fr de
659 # AddType allows you to tweak mime.types without actually editing it, or to
660 # make certain files to be certain types.
662 # For example, the PHP 3.x module (not part of the Apache distribution - see
663 # http://www.php.net) will typically use:
665 #AddType application/x-httpd-php3 .php3
666 #AddType application/x-httpd-php3-source .phps
668 # And for PHP 4.x, use:
670 #AddType application/x-httpd-php .php
671 #AddType application/x-httpd-php-source .phps
673 #AddType application/x-tar .tgz
676 # AddHandler allows you to map certain file extensions to "handlers",
677 # actions unrelated to filetype. These can be either built into the server
678 # or added with the Action command (see below)
680 # If you want to use server side includes, or CGI outside
681 # ScriptAliased directories, uncomment the following lines.
683 # To use CGI scripts:
685 AddHandler cgi-script .cgi
688 # To use server-parsed HTML files
690 AddType text/html .shtml
691 AddHandler server-parsed .shtml
694 # Uncomment the following line to enable Apache's send-asis HTTP file
697 AddHandler send-as-is asis
700 # If you wish to use server-parsed imagemap files, use
702 AddHandler imap-file map
705 # To enable type maps, you might want to use
707 AddHandler type-map var
710 # Action lets you define media types that will execute a script whenever
711 # a matching file is called. This eliminates the need for repeated URL
712 # pathnames for oft-used CGI file processors.
713 # Format: Action media/type /cgi-script/location
714 # Format: Action handler-name /cgi-script/location
718 # MetaDir: specifies the name of the directory in which Apache can find
719 # meta information files. These files contain additional HTTP headers
720 # to include when sending the document
725 # MetaSuffix: specifies the file name suffix for the file containing the
731 # Customizable error response (Apache style)
732 # these come in three flavors
735 #ErrorDocument 500 "The server made a boo boo.
736 # n.b. the single leading (") marks it as text, it does not get output
739 #ErrorDocument 404 /missing.html
740 # to redirect to local URL /missing.html
741 #ErrorDocument 404 /cgi-bin/missing_handler.pl
742 # N.B.: You can redirect to a script or a document using server-side-includes.
744 # 3) external redirects
745 #ErrorDocument 402 http://some.other-server.com/subscription_info.html
746 # N.B.: Many of the environment variables associated with the original
747 # request will *not* be available to such a script.
749 Alias /errordocs/ "/home/services/apache/errordocs/"
751 <Directory /home/services/apache/errordocs/>
753 Options IncludesNoExec FollowSymLinks
756 ErrorDocument 400 /errordocs/400.shtml
757 ErrorDocument 401 /errordocs/401.shtml
758 ErrorDocument 403 /errordocs/403.shtml
759 ErrorDocument 404 /errordocs/404.shtml
760 ErrorDocument 405 /errordocs/405.shtml
761 ErrorDocument 406 /errordocs/406.shtml
762 ErrorDocument 408 /errordocs/408.shtml
763 ErrorDocument 410 /errordocs/410.shtml
764 ErrorDocument 411 /errordocs/411.shtml
765 ErrorDocument 414 /errordocs/414.shtml
766 ErrorDocument 500 /errordocs/500.shtml
767 ErrorDocument 503 /errordocs/503.shtml
769 # The following directives modify normal HTTP response behavior.
770 # The first directive disables keepalive for Netscape 2.x and browsers that
771 # spoof it. There are known problems with these browser implementations.
772 # The second directive is for Microsoft Internet Explorer 4.0b2
773 # which has a broken HTTP/1.1 implementation and does not properly
774 # support keepalive when it is used on 301 or 302 (redirect) responses.
776 BrowserMatch "Mozilla/2" nokeepalive
777 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
780 # The following directive disables HTTP/1.1 responses to browsers which
781 # are in violation of the HTTP/1.0 spec by not being able to grok a
782 # basic 1.1 response.
784 BrowserMatch "RealPlayer 4\.0" force-response-1.0
785 BrowserMatch "Java/1\.0" force-response-1.0
786 BrowserMatch "JDK/1\.0" force-response-1.0
789 # Allow remote server configuration reports, with the URL of
790 # http://servername/server-info (requires that mod_info.c be loaded).
791 # Change the ".your-domain.com" to match your domain to enable.
793 #<Location /server-info>
794 # SetHandler server-info
797 # Allow from .your-domain.com
801 # There have been reports of people trying to abuse an old bug from pre-1.1
802 # days. This bug involved a CGI script distributed as a part of Apache.
803 # By uncommenting these lines you can redirect these attacks to a logging
804 # script on phf.apache.org. Or, you can record them yourself, using the script
805 # support/phf_abuse_log.cgi.
807 #<Location /cgi-bin/phf*>
809 # ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi