#
# This is the main IBM HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://publib.boulder.ibm.com/httpserv/manual24/> for detailed 
# information about the Apache directives.
#
# The instructions provided in this configuration file are only hints or
# reminders.  Consult the online docs for definitive information.
#
# You are strongly encourated to start with the default configuration 
# and append your changes to the problem wherever possible, rather than
# changeing it in-line.
#
# The configuration directives are grouped into three basic sections:
#  1. Directives that control the operation of the web 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 web 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 "@@ServerRoot@@" will be interpreted by the
# server as "@@ServerRoot@@/logs/foo.log".
#

### Section 1: Global Environment
#
# The directives in this section affect the overall operation of IBM HTTP
# Server, such as the number of concurrent requests it can handle or where 
# it can find its configuration files.
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "@@ServerRoot@@"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#LockFile logs/accept.lock

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
PidFile logs/httpd.pid

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 60

LoadModule reqtimeout_module modules/mod_reqtimeout.so
<ifModule mod_reqtimeout.c>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</ifModule>

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5

##
## Server-Pool Size Regulation (MPM specific)
## 



#
# Listen: Allows you to bind the web server 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 the web server from accepting connections on all interfaces
# (0.0.0.0)
#
# Change this to "Listen 0.0.0.0:port" to restrict the server to
# IPv4.
#
#Listen 12.34.56.78:80
Listen @@Port@@

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authn_cert_module modules/mod_authn_cert.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule mime_module modules/mod_mime.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule asis_module modules/mod_asis.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgid_module modules/mod_cgid.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule deflate_module modules/mod_deflate.so

#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so

#LoadModule filter_module modules/mod_filter.so
#LoadModule lua_module modules/mod_lua.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule remoteip_module modules/mod_remoteip.so


# ExtendedStatus controls the level of detail available to modules
# like mod_status or IBM HTTP Server diagnostic modules about
# active requests.
# After PH56308, the default is "on".
# Prior to PH56308, the default was "off" but loading mod_status implicitly sets it to "on".
ExtendedStatus On

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

#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
User @@User@@
Group @@Group@@

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin you@your.address

#
# 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 @@ServerName@@

#
# UseCanonicalName: Determines how the web server constructs self-
# referencing URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", the web server will use the Hostname and Port supplied
# by the client.  When set "On", it will use the value of the ServerName
# directive.
#
UseCanonicalName Off

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "@@ServerRoot@@/htdocs"

#
# Each directory to which the web server 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.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    FileETag All -INode
    Require all denied
</Directory>

#
# 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.
#
<Directory "@@ServerRoot@@/htdocs">

#
# 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://publib.boulder.ibm.com/httpserv/manual24/mod/core.html#options
# for more information.
#
    Options 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 None

#
# Controls who can get stuff from this server.
#

   Require all granted
</Directory>

#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
<IfModule mod_userdir.c>
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 Indexes
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS PROPFIND>
#        Require all granted
#    </Limit>
#    <LimitExcept GET POST OPTIONS PROPFIND>
#        Reqire all denied
#    </LimitExcept>
#</Directory>
</IfModule>

#
# DirectoryIndex: sets the file that the web server 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.
#
DirectoryIndex index.html index.html.var

# Use welcome page of index_ihs.html by default in the shipped documentroot
<DirectoryMatch ^@@ServerRoot@@/htdocs/$>
DirectoryIndex index.html index.html.var index_ihs.html
</DirectoryMatch>

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride 
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
   Require all denied
   Forbid
</Files>

#
# TypesConfig describes where the mime.types file (or equivalent) is
# to be found.
#
TypesConfig conf/mime.types

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

#
# 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://publib.boulder.ibm.com/httpserv/manual24/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://publib.boulder.ibm.com/httpserv/manual24/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.
#
ErrorLog logs/error_log

#
# LogLevel: Control the number of messages logged to the error log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below). "common" and "combined" include
# IHS extensions.
#

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D \"%{WAS}e\" %{RH}e MS=%{ms}T %X" combined
LogFormat "%h %l %u %t \"%r\" %>s %b %D \"%{WAS}e\" %{RH}e MS=%{ms}T %X" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#
# 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 agent and referer logfiles, uncomment the
# following directives.
#
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent

#
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog logs/access_log combined

#
# AddServerHeader
# This directive provides a means to enable or disable ServerHeader values.
# The internal default value has been "Off" since PM77980. 
# This provides a server header according to the
# values specified in the ServerTokens and ServerSignature directives.
# Setting this directive to "Off" results in no server header information
# being returned to clients.
# Set to one of: On | Off
#
#AddServerHeader On

#
# ServerTokens
# This directive configures what you return as the Server HTTP response
# Header. The built-in default is 'Full' which sends information about 
# the OS-type and compiled in modules.  The recommended value is 'Prod' 
# which sends the least information.
# Set to one of:  Full | OS | Minor | Minimal | Major | Prod
# where Full conveys the most information, and Prod the least.
#
ServerTokens Prod

#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory 
# listings, mod_status and mod_info output etc., but not CGI generated 
# documents or custom error documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of:  On | Off | EMail
#
#ServerSignature On

#
# 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.
#
Alias /icons/ "@@ServerRoot@@/icons/"

<Directory "@@ServerRoot@@/icons">
    Options MultiViews
    AllowOverride None
    Require all granted
</Directory>

<IfModule mod_cgid.c>
    Alias /cgi-bin/ "@@ServerRoot@@/cgi-bin/"

    # "@@ServerRoot@@/cgi-bin" should be changed to wherever your Aliased
    # CGI directory exists, if you have that configured.
    <Directory "@@ServerRoot@@/cgi-bin">
        AllowOverride None
        Options ExecCGI
        SetHandler cgi-script
        Require all granted
    </Directory>
</IfModule>

#
# 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.
#
IndexOptions FancyIndexing VersionSort

#
# AddIcon* directives tell the server which icon to show for different
# files or filename extensions.  These are only displayed for
# FancyIndexed directories.
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

#
# DefaultIcon is which icon to show for files which do not have an icon
# explicitly set.
#
DefaultIcon /icons/unknown.gif

#
# AddDescription allows you to place a short description after a file in
# server-generated indexes.  These are only displayed for FancyIndexed
# directories.
# Format: AddDescription "description" filename
#
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz

#
# ReadmeName is the name of the README file the server will look for by
# default, and append to directory listings.
#
# HeaderName is the name of a file which should be prepended to
# directory indexes. 
ReadmeName README.html
HeaderName HEADER.html

#
# IndexIgnore is a set of filenames which directory indexing should ignore
# and not include in the listing.  Shell-style wildcarding is permitted.
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

#
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) 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

#
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
AddType application/x-tar .tgz
AddType image/x-icon .ico

#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi

#
# For files that include their own HTTP headers:
#
#AddHandler send-as-is asis

#
# For server-parsed imagemap files:
#
#AddHandler imap-file map

#
# For type maps (negotiated resources):
#
#AddHandler type-map var

#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

#
# 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
# @@ServerRoot@@/error/include/ files and copying them to /your/include/path/, 
# even on a per-VirtualHost basis.  The default include files will display
# your IBM HTTP Server version number and your ServerAdmin email address
# regardless of the setting of ServerSignature.
#
# The internationalized error documents require mod_alias, mod_include
# and mod_negotiation.  To activate them, uncomment the following 30 lines.

#    Alias /error/ "@@ServerRoot@@/error/"
#
#    <Directory "@@ServerRoot@@/error">
#        AllowOverride None
#        Options IncludesNoExec
#        AddOutputFilter Includes html
#        AddHandler type-map var
#        Require all granted
#        LanguagePriority en de es fr it nl sv
#        ForceLanguagePriority Prefer Fallback
#    </Directory>
#
#    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_SERVICE_UNAVAILABLE.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.
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

#
# 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.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

#
# 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.
#
LoadModule status_module modules/mod_status.so
<IfModule mod_status.c>
<Location /server-status>
    SetHandler server-status
    Require all denied
#   To allow access from a specific IP:
#   Require ip 192.168.1
</Location>
</IfModule>

#
# 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
#   Require all denied
#   To allow access from a specific IP:
#   Require ip 192.168.1
#</Location>

#
# Enable IBM HTTP Server diagnostic features.
#
# CoreDumpDirectory directory: Sets the location where the server will
# attempt to put a core dump.  The child processes running as 'User'
# (see User config directive above) must have permission to write to 
# this directive.  The filesystem will have to be large enough to hold 
# potentially large core files.
#
# The /tmp directory is often sufficient.
#
#CoreDumpDirectory /tmp

# mod_mpmstats logs statistics about server activity to the main
# error log.  No records are written while the server is idle.
LoadModule mpmstats_module modules/debug/mod_mpmstats.so
<IfModule mod_mpmstats.c>
# Write a record every 5 minutes (if server isn't idle).
# Recommendation: Lower this interval to 60 seconds, which will
# result in the error log growing faster but with more accurate
# information about server load.
ReportInterval 300
# Include details of active module in the statistics.
TrackModules On
# Allow individual modules to be tracked
TrackHooks allhooks

# Threshold for reporting on a thread as long-running in the mpmstats report.
SlowThreshold 60

# Log a message and module name when a phase takes more than SlowThresdhold seconds
TrackHooksOptions logslow notice
</IfModule>

# EnableExceptionHook allows modules such as mod_backtrace and
# mod_whatkilledus to run after a crash and gather additional
# diagnostic information.
# EnableExceptionHook must be "on" in order to use mod_backtrace or
# mod_whatkilledus.
EnableExceptionHook On

# mod_whatkilledus will record information about the current request
# and connection to the error log at the time of a crash.  This is
# important information for diagnosing the cause of the crash.
LoadModule whatkilledus_module modules/debug/mod_whatkilledus.so

# mod_net_trace will record actual data sent/received from the client
# and on proxy connections, even for SSL connections.  Unlike an IP
# trace, interaction with the platform network APIs can be seen.
# The following example configuration can be activated by uncommenting
# the LoadModule directive.
#LoadModule net_trace_module modules/debug/mod_net_trace.so
<IfModule mod_net_trace.c>
NetTraceFile /tmp/nettrace
NetTrace client * dest file event senddata=65535 event recvdata=65535 event misccalls
</IfModule>

# ThreadLimit: maximum setting of ThreadsPerChild
# ServerLimit: maximum setting of StartServers
# 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
ThreadLimit          100 
ServerLimit           18
StartServers           1
MaxClients          1200
MinSpareThreads       50
MaxSpareThreads      300 
ThreadsPerChild      100
MaxRequestsPerChild    0 
MaxMemFree 2048


# Example SSL configuration 
# To enable this support:
#   1) Create a key database with ikeyman or bin/gskcapicmd
#   2) Update the KeyFile directive below to point to that key database
#   3) Uncomment the directives up through the end of the example
#
#LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
#Listen 443
#SSLCheckCertificateExpiration 30
#<VirtualHost *:443>
 #ServerName @@ServerName@@
 #SSLEnable
 #Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
#</VirtualHost>
#KeyFile @@ServerRoot@@/conf/ihsserverkey.kdb

# End of example SSL configuration

# Diagnostic log files, uncomment to enable.


# GlobalLog logs/deflate-debug.log "%h %l %u %t \"%r\" %>s %b %{RH}e %{WAS}e %{Accept-Encoding}i %{Content-Type}o %{Content-Encoding}o %{Via}i %{no-gzip}e %{remote}p T=%T MS=%{ms}T"
# GlobalLog logs/ssl-debug.log "%h %l %u %t \"%r\" %>s %b %{RH}e %{WAS}e %{HTTPS}e %{HTTPS_CIPHER}e %{SSL_PROTOCOL_VERSION}e %{SSL_CLIENT_DN}e %{SSL_HANDSHAKE}e %{SSL_TLS_SNI}e %{SSL_HANDSHAKE_TIME}e %{remote}p T=%T MS=%{ms}T"
# GlobalLog logs/cache-debug.log "%h %l %u %t \"%r\" %>s %b %{RH}e %{WAS}e %{Age}o %{Cache-Control}i %{Last-Modified}o %{Etag}o %{If-Match}i %{If-None-Match}i %{If-Modified-Since}i %{Cache-Control}o exp=%{Expires}o %{Vary}o %{cache-hit}e %{cache-revalidate}e %{cache-invalidate}e %{cache-status}%e T=%T MS=%{ms}T"
# GlobalLog logs/was-debug.log "%h %l %u %t \"%r\" %>s %b %{WAS_UNIQUE_ID}e %{RH}e %{WAS}e %{JSESSIONID}C %{remote}p %{WAS_LOCAL_PORT}e TPCN=%{TPCN}e TPSB=%{TPSB}e TPWR=%{TPWR}e TPRB=%{TPRB}e T=%T MS=%{ms}T"
# GlobalLog logs/cookie-debug.log "%h %l %u %t \"%r\" %>s %b %{User-Agent}i %{RH}e %{WAS}e %{Age}o %{Cache-Control}i exp=%{Expires}o %{Cache-Control}o SC=\"%{Set-Cookie}o\" C=\"%{Cookie}i\" %{Location}o T=%T MS=%{ms}T"

