# # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. # In particular, see # <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> # for a discussion of each configuration directive. # # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # The configuration directives are grouped into three basic sections: # 1. Directives that control the operation of the Apache server process as a # whole (the 'global environment'). # 2. Directives that define the parameters of the 'main' or 'default' server, # which responds to requests that aren't handled by a virtual host. # These directives also provide default values for the settings # of all virtual hosts. # 3. Settings for virtual hosts, which allow Web requests to be sent to # different IP addresses or hostnames and have them handled by the # same Apache server process. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot? is prepended -- so "logs/foo.log" # with ServerRoot? set to "/etc/httpd" will be interpreted by the # server as "/etc/httpd/logs/foo.log". # ### Section 1: Global Environment # # The directives in this section affect the overall operation of Apache, # such as the number of concurrent requests it can handle or where it # can find its configuration files. # # # Don't give away too much information about all the subcomponents # we are running. Comment out this line if you don't mind remote sites # finding out what major optional modules you are running # # ServerRoot?: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the LockFile? documentation # (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # # PidFile?: The file in which the server should record its process # identification number when it starts. # # Timeout: The number of seconds before receives and sends time out. # # # KeepAlive?: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # # # MaxKeepAliveRequests?: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # # # KeepAliveTimeout?: Number of seconds to wait for the next request from the # same client on the same connection. # ## ## Server-Pool Size Regulation (MPM specific) ## # prefork MPM # StartServers?: number of server processes to start # MinSpareServers?: minimum number of server processes which are kept spare # MaxSpareServers?: maximum number of server processes which are kept spare # ServerLimit?: maximum value for MaxClients? for the lifetime of the server # MaxClients?: maximum number of server processes allowed to start # MaxRequestsPerChild?: maximum number of requests a server process serves
# worker MPM # StartServers?: initial number of server processes to start # MaxClients?: maximum number of simultaneous client connections # MinSpareThreads?: minimum number of worker threads which are kept spare # MaxSpareThreads?: maximum number of worker threads which are kept spare # ThreadsPerChild?: constant number of worker threads in each server process # MaxRequestsPerChild?: maximum number of requests a server process serves
# # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost?> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule?' lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. # # Example: # LoadModule? foo_module modules/mod_foo.so # # # The following modules are not loaded by default: # #LoadModule? cern_meta_module modules/mod_cern_meta.so #LoadModule? asis_module modules/mod_asis.so # # Load config files from the config directory "/etc/httpd/conf.d". # # # ExtendedStatus? controls whether Apache will generate "full" status # information (ExtendedStatus? On) or just basic information (ExtendedStatus? # Off) when the "server-status" handler is called. The default is Off. # #ExtendedStatus? On # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # . On SCO (ODT 3) use "User nouser" and "Group nogroup". # . On HPUX you may not be able to use shared memory as nobody, and the # suggested workaround is to create a user www and use that user. # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) # when the value of (unsigned)Group is above 60000; # don't use Group #-1 on these systems! # ### Section 2: 'Main' server configuration # # The directives in this section set up the values used by the 'main' # server, which responds to any requests that aren't handled by a # <VirtualHost?> definition. These values also provide defaults for # any <VirtualHost?> containers you may define later in the file. # # All of these directives may appear inside <VirtualHost?> containers, # in which case these default settings will be overridden for the # virtual host being defined. # # # ServerAdmin?: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@your-domain.com # # # ServerName? gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If this is not set to valid DNS name for your host, server-generated # redirections will not work. See also the UseCanonicalName? directive. # # If your host doesn't have a registered DNS name, enter its IP address here. # You will have to access it by its address anyway, and this will make # redirections work in a sensible way. # #ServerName? panhead.homeip.net # # UseCanonicalName?: Determines how Apache constructs self-referencing # URLs and the SERVER_NAME and SERVER_PORT variables. # When set "Off", Apache will use the Hostname and Port supplied # by the client. When set "On", Apache will use the value of the # ServerName? directive. # # # DocumentRoot?: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # # # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # features. #
# # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot? to. #
# # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks? SymLinksifOwnerMatch? ExecCGI MultiViews? # # Note that "MultiViews?" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride? controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo? AuthConfig? Limit # AllowOverride All # # Controls who can get stuff from this server. # Order allow,deny Allow from all
# # UserDir?: The name of the directory that is appended onto a user's home # directory if a ~user request is received. # # The path to the end user account 'public_html' directory must be # accessible to the webserver userid. This usually means that ~userid # must have permissions of 711, ~userid/public_html must have permissions # of 755, and documents contained therein must be world-readable. # Otherwise, the client will only receive a "403 Forbidden" message. # # See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden #
# # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disable" line above, and uncomment # the following line instead: # #UserDir public_html
# # Control access to UserDir? directories. The following is an example # for a site where these directories are restricted to read-only. # #<Directory /home/*/public_html> # AllowOverride? FileInfo? AuthConfig? Limit # Options MultiViews? Indexes SymLinksIfOwnerMatch? IncludesNoExec? # <Limit GET POST OPTIONS> # Order allow,deny # Allow from all # </Limit> # <LimitExcept? GET POST OPTIONS> # Order deny,allow # Deny from all # </LimitExcept?> #</Directory> # # DirectoryIndex?: sets the file that Apache will serve if a directory # is requested. # # The index.html.var file (a type-map) is used to deliver content- # negotiated documents. The MultiViews? Option can be used for the # same purpose, but it is much slower. # # # AccessFileName?: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride? # directive. # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. #
# # TypesConfig? describes where the mime.types file (or equivalent) is # to be found. # # # DefaultType? is the default MIME type the server will use for a document # if it cannot otherwise determine one, such as from filename extensions. # If your server contains mostly text or HTML documents, "text/plain" is # a good value. If most of your content is binary, such as applications # or images, you may want to use "application/octet-stream" instead to # keep browsers from trying to display binary files as though they are # text. # # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile? # directive tells the module where the hint definitions are located. #
# # HostnameLookups?: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # # # EnableMMAP: Control whether memory-mapping is used to deliver # files (assuming that the underlying OS supports it). # The default is on; turn this off if you serve from NFS-mounted # filesystems. On some systems, turning it off (regardless of # filesystem) can improve performance; for details, please see # http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap # #EnableMMAP off # # EnableSendfile?: Control whether the sendfile kernel support is # used to deliver files (assuming that the OS supports it). # The default is on; turn this off if you serve from NFS-mounted # filesystems. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile # #EnableSendfile? off # # ErrorLog?: The location of the error log file. # If you do not specify an ErrorLog? directive within a <VirtualHost?> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost?> # container, that host's errors will be logged there and not here. # # # LogLevel?: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # # # The following directives define some format nicknames for use with # a CustomLog? directive (see below). # # "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this # requires the mod_logio module to be loaded. #LogFormat? "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost?> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost?> access logfiles, transactions will be # logged therein and *not* in this file. # #CustomLog? logs/access_log common # # If you would like to have separate agent and referer logfiles, uncomment # the following directives. # #CustomLog? logs/referer_log referer #CustomLog? logs/agent_log agent # # For a single logfile with access, agent, and referer information # (Combined Logfile Format), use the following directive: # # # Optionally add a line containing the server version and virtual host # name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin?. # Set to one of: On | Off | EMail # # # Aliases: Add here as many aliases as you need (with no limit). The format is # Alias fakename realname # # Note that if you include a trailing / on fakename then the server will # require it to be present in the URL. So "/icons" isn't aliased in this # example, only "/icons/". If the fakename is slash-terminated, then the # realname must also be slash terminated, and if the fakename omits the # trailing slash, the realname must also omit it. # # We include the /icons/ alias for FancyIndexed? directory listings. If you # do not use FancyIndexing?, you may comment this out. #
# # WebDAV module configuration section. #
# # ScriptAlias?: This controls which directories contain server scripts. # ScriptAliases? are essentially the same as Aliases, except that # documents in the realname directory are treated as applications and # run by the server when requested rather than as documents sent to the client. # The same rules about trailing "/" apply to ScriptAlias? directives as to # Alias. # # # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased? # CGI directory exists, if you have that configured. # #<Directory "/var/www/cgi-bin"> # AllowOverride? None # Options None # Order allow,deny # Allow from all #</Directory> #from Fedora4
# # Redirect allows you to tell clients about documents which used to exist in # your server's namespace, but do not anymore. This allows you to tell the # clients where to look for the relocated document. # Example: # Redirect permanent /foo http://www.example.com/bar # # Directives controlling the display of server-generated directory listings. # # # IndexOptions?: Controls the appearance of server-generated directory # listings. # # # AddIcon?* directives tell the server which icon to show for different # files or filename extensions. These are only displayed for # FancyIndexed? directories. # AddIconByType? (TXT,/icons/text.gif) text/* AddIcon? /icons/binary.gif .bin .exe AddIcon? /icons/back.gif .. # # DefaultIcon? is which icon to show for files which do not have an icon # explicitly set. # # # AddDescription? allows you to place a short description after a file in # server-generated indexes. These are only displayed for FancyIndexed? # directories. # Format: AddDescription? "description" filename # #AddDescription? "GZIP compressed document" .gz #AddDescription? "tar archive" .tar #AddDescription? "GZIP compressed tar archive" .tgz # # ReadmeName? is the name of the README file the server will look for by # default, and append to directory listings. # # HeaderName? is the name of a file which should be prepended to # directory indexes. # # IndexIgnore? is a set of filenames which directory indexing should ignore # and not include in the listing. Shell-style wildcarding is permitted. # # # DefaultLanguage? and AddLanguage? allows you to specify the language of # a document. You can then use content negotiation to give a browser a # file in a language the user can understand. # # Specify a default language. This means that all data # going out without a specific language tag (see below) will # be marked with this one. You probably do NOT want to set # this unless you are sure it is correct for all cases. # # * It is generally better to not mark a page as # * being a certain language than marking it with the wrong # * language! # # DefaultLanguage? nl # # Note 1: The suffix does not have to be the same as the language # keyword --- those with documents in Polish (whose net-standard # language code is pl) may wish to use "AddLanguage? pl .po" to # avoid the ambiguity with the common suffix for perl scripts. # # Note 2: The example entries below illustrate that in some cases # the two character 'Language' abbreviation is not identical to # the two character 'Country' code for its country, # E.g. 'Danmark/dk' versus 'Danish/da'. # # Note 3: In the case of 'ltz' we violate the RFC by using a three char # specifier. There is 'work in progress' to fix this and get # the reference data for rfc1766 cleaned up. # # Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) # English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) # Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) # Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) # Norwegian (no) - Polish (pl) - Portugese (pt) # Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) # Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) # # # LanguagePriority? allows you to give precedence to some languages # in case of a tie during content negotiation. # # Just list the languages in decreasing order of preference. We have # more or less alphabetized them here. You probably want to change this. # # # ForceLanguagePriority? allows you to serve a result page rather than # MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) # [in case no accepted languages matched the available variants] # # # Specify a default charset for all content served; this enables # interpretation of all content as UTF-8 by default. To use the # default browser choice (ISO-8859-1), or to allow the META tags # in HTML content to override this choice, comment out this # directive: # #AddDefaultCharset? UTF-8 # # AddType? allows you to add to or override the MIME configuration # file mime.types for specific file types. # #AddType? application/x-tar .tgz # # AddEncoding? allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # Despite the name similarity, the following Add* directives have nothing # to do with the FancyIndexing? customization directives above. # #AddEncoding? x-compress .Z #AddEncoding? x-gzip .gz .tgz # If the AddEncoding? directives above are commented-out, then you # probably should define those extensions to indicate media types: # # # AddHandler? allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased? directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # # # For files that include their own HTTP headers: # #AddHandler? send-as-is asis # # For type maps (negotiated resources): # (This is enabled by default to allow the Apache "It Worked" page # to be distributed in multiple languages.) # # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # # # Action lets you define media types that will execute a script whenever # a matching file is called. This eliminates the need for repeated URL # pathnames for oft-used CGI file processors. # Format: Action media/type /cgi-script/location # Format: Action handler-name /cgi-script/location # # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument? 500 "The server made a boo boo." #ErrorDocument? 404 /missing.html #ErrorDocument? 404 "/cgi-bin/missing_handler.pl" #ErrorDocument? 402 http://www.example.com/subscription_info.html # # # Putting this all together, we can internationalize error responses. # # We use Alias to redirect any /error/HTTP_<error>.html.var response to # our collection of by-error message multi-language collections. We use # includes to substitute the appropriate text. # # You can modify the messages' appearance without changing any of the # default HTTP_<error>.html.var files by adding the line: # # Alias /error/include/ "/your/include/path/" # # which allows you to create your own set of files by starting with the # /var/www/error/include/ files and # copying them to /your/include/path/, even on a per-VirtualHost? basis. # Alias /error/ "/var/www/error/"
# ErrorDocument? 400 /error/HTTP_BAD_REQUEST.html.var # ErrorDocument? 401 /error/HTTP_UNAUTHORIZED.html.var # ErrorDocument? 403 /error/HTTP_FORBIDDEN.html.var # ErrorDocument? 404 /error/HTTP_NOT_FOUND.html.var # ErrorDocument? 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var # ErrorDocument? 408 /error/HTTP_REQUEST_TIME_OUT.html.var # ErrorDocument? 410 /error/HTTP_GONE.html.var # ErrorDocument? 411 /error/HTTP_LENGTH_REQUIRED.html.var # ErrorDocument? 412 /error/HTTP_PRECONDITION_FAILED.html.var # ErrorDocument? 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var # ErrorDocument? 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var # ErrorDocument? 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var # ErrorDocument? 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var # ErrorDocument? 501 /error/HTTP_NOT_IMPLEMENTED.html.var # ErrorDocument? 502 /error/HTTP_BAD_GATEWAY.html.var # ErrorDocument? 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var # ErrorDocument? 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
# # The following directives modify normal HTTP response behavior to # handle known problems with browser implementations. # # # The following directive disables redirects on non-GET requests for # a directory that does not include the trailing slash. This fixes a # problem with Microsoft WebFolders? which does not appropriately handle # redirects for folders with DAV methods. # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. # # # Allow server status reports generated by mod_status, # with the URL of http://servername/server-status # Change the ".example.com" to match your domain to enable. # #<Location /server-status> # SetHandler? server-status # Order deny,allow # Deny from all # Allow from .example.com #</Location> # # Allow remote server configuration reports, with the URL of # http://servername/server-info (requires that mod_info.c be loaded). # Change the ".example.com" to match your domain to enable. # #<Location /server-info> # SetHandler? server-info # Order deny,allow # Deny from all # Allow from .example.com #</Location> # # Proxy Server directives. Uncomment the following lines to # enable the proxy server: # #<IfModule? mod_proxy.c> #ProxyRequests? On # #<Proxy *> # Order deny,allow # Deny from all # Allow from .example.com #</Proxy> # # Enable/disable the handling of HTTP/1.1 "Via:" headers. # ("Full" adds the server version; "Block" removes all outgoing Via: headers) # Set to one of: Off | On | Full | Block # #ProxyVia? On # # To enable a cache of proxied content, uncomment the following lines. # See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details. # #<IfModule? mod_disk_cache.c> # CacheEnable? disk / # CacheRoot? "/var/cache/mod_proxy" #</IfModule?> # #</IfModule?> # End of proxy directives. ### Section 3: Virtual Hosts # # VirtualHost?: If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost? containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.2/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # #NameVirtualHost? *:80 # # NOTE: NameVirtualHost? cannot be used without a port specifier # (e.g. :80) if mod_ssl is being used, due to the nature of the # SSL protocol. # # # VirtualHost? example: # Almost any Apache directive may go into a VirtualHost? container. # The first VirtualHost? section is used for requests without a known # server name. # #<VirtualHost? *:80> # ServerAdmin? webmaster@dummy-host.example.com # DocumentRoot? /www/docs/dummy-host.example.com # ServerName? dummy-host.example.com # ErrorLog? logs/dummy-host.example.com-error_log # CustomLog? logs/dummy-host.example.com-access_log common #</VirtualHost?> # Virtual host Default Virtual Host
# Virtual host pixie.homeip.net
# Virtual host panhead.homeip.net
# Virtual host iori.homeip.net
# Virtual host mrnobody.kicks-ass.net
# Virtual host rankintaxi.is-a-geek.net
|