Annotation of doc/install/linux/rhes4/httpd.conf, revision 1.2

1.1       raeburn     1: #
                      2: # Based upon the NCSA server configuration files originally by Rob McCool.
                      3: #
                      4: # This is the main Apache server configuration file.  It contains the
                      5: # configuration directives that give the server its instructions.
                      6: # See <URL:http://www.apache.org/docs/> for detailed information about
                      7: # the directives.
                      8: #
                      9: # Do NOT simply read the instructions in here without understanding
                     10: # what they do.  They're here only as hints or reminders.  If you are unsure
                     11: # consult the online docs. You have been warned.  
                     12: #
                     13: # After this file is processed, the server will look for and process
                     14: # /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf
                     15: # unless you have overridden these with ResourceConfig and/or
                     16: # AccessConfig directives here.
                     17: #
                     18: # The configuration directives are grouped into three basic sections:
                     19: #  1. Directives that control the operation of the Apache server process as a
                     20: #     whole (the 'global environment').
                     21: #  2. Directives that define the parameters of the 'main' or 'default' server,
                     22: #     which responds to requests that aren't handled by a virtual host.
                     23: #     These directives also provide default values for the settings
                     24: #     of all virtual hosts.
                     25: #  3. Settings for virtual hosts, which allow Web requests to be sent to
                     26: #     different IP addresses or hostnames and have them handled by the
                     27: #     same Apache server process.
                     28: #
                     29: # Configuration and logfile names: If the filenames you specify for many
                     30: # of the server's control files begin with "/" (or "drive:/" for Win32), the
                     31: # server will use that explicit path.  If the filenames do *not* begin
                     32: # with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
                     33: # with ServerRoot set to "/usr/local/apache" will be interpreted by the
                     34: # server as "/usr/local/apache/logs/foo.log".
                     35: #
                     36: 
                     37: ### Section 1: Global Environment
                     38: #
                     39: # The directives in this section affect the overall operation of Apache,
                     40: # such as the number of concurrent requests it can handle or where it
                     41: # can find its configuration files.
                     42: #
                     43: 
                     44: #
                     45: # ServerType is either inetd, or standalone.  Inetd mode is only supported on
                     46: # Unix platforms.
                     47: #
                     48: ServerType standalone
                     49: 
                     50: #
                     51: # ServerRoot: The top of the directory tree under which the server's
                     52: # configuration, error, and log files are kept.
                     53: #
                     54: # NOTE!  If you intend to place this on an NFS (or otherwise network)
                     55: # mounted filesystem then please read the LockFile documentation
                     56: # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
                     57: # you will save yourself a lot of trouble.
                     58: #
                     59: # Do NOT add a slash at the end of the directory path.
                     60: #
                     61: ServerRoot "/etc/httpd"
                     62: 
                     63: #
                     64: # The LockFile directive sets the path to the lockfile used when Apache
                     65: # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
                     66: # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
                     67: # its default value. The main reason for changing it is if the logs
                     68: # directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
                     69: # DISK. The PID of the main server process is automatically appended to
                     70: # the filename. 
                     71: #
                     72: LockFile /var/run/httpd.lock
                     73: 
                     74: #
                     75: # PidFile: The file in which the server should record its process
                     76: # identification number when it starts.
                     77: #
                     78: PidFile /var/run/httpd.pid
                     79: 
                     80: #
                     81: # ScoreBoardFile: File used to store internal server process information.
                     82: # Not all architectures require this.  But if yours does (you'll know because
                     83: # this file will be  created when you run Apache) then you *must* ensure that
                     84: # no two invocations of Apache share the same scoreboard file.
                     85: #
                     86: ScoreBoardFile logs/apache_runtime_status
                     87: 
                     88: #
                     89: # In the standard configuration, the server will process httpd.conf (this 
                     90: # file, specified by the -f command line option), srm.conf, and access.conf 
                     91: # in that order.  The latter two files are now distributed empty, as it is 
                     92: # recommended that all directives be kept in a single file for simplicity.  
                     93: # The commented-out values below are the built-in defaults.  You can have the 
                     94: # server ignore these files altogether by using "/dev/null" (for Unix) or
                     95: # "nul" (for Win32) for the arguments to the directives.
                     96: #
                     97: #ResourceConfig conf/srm.conf
                     98: #AccessConfig conf/access.conf
                     99: 
                    100: #
                    101: # Timeout: The number of seconds before receives and sends time out.
                    102: #
                    103: Timeout 300
                    104: 
                    105: #
                    106: # KeepAlive: Whether or not to allow persistent connections (more than
                    107: # one request per connection). Set to "Off" to deactivate.
                    108: #
                    109: KeepAlive Off
                    110: 
                    111: #
                    112: # MaxKeepAliveRequests: The maximum number of requests to allow
                    113: # during a persistent connection. Set to 0 to allow an unlimited amount.
                    114: # We recommend you leave this number high, for maximum performance.
                    115: #
                    116: MaxKeepAliveRequests 100
                    117: 
                    118: #
                    119: # KeepAliveTimeout: Number of seconds to wait for the next request from the
                    120: # same client on the same connection.
                    121: #
                    122: KeepAliveTimeout 15
                    123: 
                    124: #
                    125: # Server-pool size regulation.  Rather than making you guess how many
                    126: # server processes you need, Apache dynamically adapts to the load it
                    127: # sees --- that is, it tries to maintain enough server processes to
                    128: # handle the current load, plus a few spare servers to handle transient
                    129: # load spikes (e.g., multiple simultaneous requests from a single
                    130: # Netscape browser).
                    131: #
                    132: # It does this by periodically checking how many servers are waiting
                    133: # for a request.  If there are fewer than MinSpareServers, it creates
                    134: # a new spare.  If there are more than MaxSpareServers, some of the
                    135: # spares die off.  The default values are probably OK for most sites.
                    136: #
                    137: MinSpareServers 5
                    138: MaxSpareServers 20
                    139: 
                    140: #
                    141: # Number of servers to start initially --- should be a reasonable ballpark
                    142: # figure.
                    143: #
                    144: StartServers 8
                    145: 
                    146: #
                    147: # Limit on total number of servers running, i.e., limit on the number
                    148: # of clients who can simultaneously connect --- if this limit is ever
                    149: # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
                    150: # It is intended mainly as a brake to keep a runaway server from taking
                    151: # the system with it as it spirals down...
                    152: #
                    153: MaxClients 150
                    154: 
                    155: #
                    156: # MaxRequestsPerChild: the number of requests each child process is
                    157: # allowed to process before the child dies.  The child will exit so
                    158: # as to avoid problems after prolonged use when Apache (and maybe the
                    159: # libraries it uses) leak memory or other resources.  On most systems, this
                    160: # isn't really needed, but a few (such as Solaris) do have notable leaks
                    161: # in the libraries. For these platforms, set to something like 10000
                    162: # or so; a setting of 0 means unlimited.
                    163: #
                    164: # NOTE: This value does not include keepalive requests after the initial
                    165: #       request per connection. For example, if a child process handles
                    166: #       an initial request and 10 subsequent "keptalive" requests, it
                    167: #       would only count as 1 request towards this limit.
                    168: #
                    169: MaxRequestsPerChild 1000
                    170: 
                    171: #
                    172: # Listen: Allows you to bind Apache to specific IP addresses and/or
                    173: # ports, in addition to the default. See also the <VirtualHost>
                    174: # directive.
                    175: #
                    176: #Listen 3000
                    177: #Listen 12.34.56.78:80
                    178: #Listen 80
                    179: 
                    180: #
                    181: # BindAddress: You can support virtual hosts with this option. This directive
                    182: # is used to tell the server which IP address to listen to. It can either
                    183: # contain "*", an IP address, or a fully qualified Internet domain name.
                    184: # See also the <VirtualHost> and Listen directives.
                    185: #
                    186: #BindAddress *
                    187: 
                    188: #
                    189: # Dynamic Shared Object (DSO) Support
                    190: #
                    191: # To be able to use the functionality of a module which was built as a DSO you
                    192: # have to place corresponding `LoadModule' lines at this location so the
                    193: # directives contained in it are actually available _before_ they are used.
                    194: # Please read the file http://httpd.apache.org/docs/dso.html for more
                    195: # details about the DSO mechanism and run `httpd -l' for the list of already
                    196: # built-in (statically linked and thus always available) modules in your httpd
                    197: # binary.
                    198: #
                    199: # Note: The order in which modules are loaded is important.  Don't change
                    200: # the order below without expert advice.
                    201: #
                    202: # Example:
                    203: # LoadModule foo_module modules/mod_foo.so
                    204: 
                    205: #LoadModule mmap_static_module modules/mod_mmap_static.so
                    206: LoadModule vhost_alias_module modules/mod_vhost_alias.so
                    207: <IfDefine HAVE_BANDWIDTH>
                    208: #LoadModule bandwidth_module   modules/mod_bandwidth.so
                    209: </IfDefine>
                    210: <IfDefine HAVE_THROTTLE>
                    211: #LoadModule throttle_module    modules/mod_throttle.so
                    212: </IfDefine>
                    213: LoadModule env_module         modules/mod_env.so
                    214: LoadModule config_log_module  modules/mod_log_config.so
                    215: LoadModule agent_log_module   modules/mod_log_agent.so
                    216: LoadModule referer_log_module modules/mod_log_referer.so
                    217: #LoadModule mime_magic_module  modules/mod_mime_magic.so
                    218: LoadModule mime_module        modules/mod_mime.so
                    219: LoadModule negotiation_module modules/mod_negotiation.so
                    220: LoadModule status_module      modules/mod_status.so
                    221: LoadModule info_module        modules/mod_info.so
                    222: LoadModule includes_module    modules/mod_include.so
                    223: LoadModule autoindex_module   modules/mod_autoindex.so
                    224: LoadModule dir_module         modules/mod_dir.so
                    225: LoadModule cgi_module         modules/mod_cgi.so
                    226: LoadModule asis_module        modules/mod_asis.so
                    227: LoadModule imap_module        modules/mod_imap.so
                    228: LoadModule action_module      modules/mod_actions.so
                    229: #LoadModule speling_module     modules/mod_speling.so
                    230: LoadModule userdir_module     modules/mod_userdir.so
                    231: LoadModule alias_module       modules/mod_alias.so
                    232: LoadModule rewrite_module     modules/mod_rewrite.so
                    233: LoadModule access_module      modules/mod_access.so
                    234: LoadModule auth_module        modules/mod_auth.so
                    235: LoadModule anon_auth_module   modules/mod_auth_anon.so
                    236: LoadModule db_auth_module     modules/mod_auth_db.so
                    237: #LoadModule auth_any_module    modules/mod_auth_any.so
                    238: #LoadModule dbm_auth_module    modules/mod_auth_dbm.so
                    239: #LoadModule auth_ldap_module   modules/mod_auth_ldap.so
                    240: #LoadModule mysql_auth_module  modules/mod_auth_mysql.so
                    241: #LoadModule auth_pgsql_module  modules/mod_auth_pgsql.so
                    242: #LoadModule digest_module      modules/mod_digest.so
                    243: #LoadModule proxy_module       modules/libproxy.so
                    244: #LoadModule cern_meta_module   modules/mod_cern_meta.so
                    245: LoadModule expires_module     modules/mod_expires.so
                    246: LoadModule headers_module     modules/mod_headers.so
                    247: #LoadModule usertrack_module   modules/mod_usertrack.so
                    248: #LoadModule example_module     modules/mod_example.so
                    249: #LoadModule unique_id_module   modules/mod_unique_id.so
                    250: LoadModule setenvif_module    modules/mod_setenvif.so
                    251: <IfDefine HAVE_PERL>
                    252: LoadModule perl_module        modules/libperl.so
                    253: </IfDefine>
                    254: #<IfDefine HAVE_PHP>
                    255: #LoadModule php_module         modules/mod_php.so
                    256: #</IfDefine>
                    257: #<IfDefine HAVE_PHP3>
                    258: #LoadModule php3_module        modules/libphp3.so
                    259: #</IfDefine>
                    260: #<IfDefine HAVE_PHP4>
                    261: #LoadModule php4_module        modules/libphp4.so
                    262: #</IfDefine>
                    263: #<IfDefine HAVE_DAV>
                    264: #LoadModule dav_module         modules/libdav.so
                    265: #</IfDefine>
                    266: #<IfDefine HAVE_ROAMING>
                    267: #LoadModule roaming_module     modules/mod_roaming.so
                    268: #</IfDefine>
                    269: #<IfDefine HAVE_SSL>
                    270: #LoadModule ssl_module         modules/libssl.so
                    271: #</IfDefine>
                    272: #<IfDefine HAVE_PUT>
                    273: #LoadModule put_module         modules/mod_put.so
                    274: #</IfDefine>
                    275: #<IfDefine HAVE_PYTHON>
                    276: #LoadModule python_module      modules/mod_python.so
                    277: #</IfDefine>
                    278: 
                    279: #  Reconstruction of the complete module list from all available modules
                    280: #  (static and shared ones) to achieve correct module execution order.
                    281: #  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
                    282: ClearModuleList
                    283: #AddModule mod_mmap_static.c
                    284: AddModule mod_vhost_alias.c
                    285: #<IfDefine HAVE_BANDWIDTH>
                    286: #AddModule mod_bandwidth.c
                    287: #</IfDefine>
                    288: #<IfDefine HAVE_THROTTLE>
                    289: #AddModule mod_throttle.c
                    290: #</IfDefine>
                    291: AddModule mod_env.c
                    292: AddModule mod_log_config.c
                    293: AddModule mod_log_agent.c
                    294: AddModule mod_log_referer.c
                    295: #AddModule mod_mime_magic.c
                    296: AddModule mod_mime.c
                    297: AddModule mod_negotiation.c
                    298: AddModule mod_status.c
                    299: AddModule mod_info.c
                    300: AddModule mod_include.c
                    301: AddModule mod_autoindex.c
                    302: AddModule mod_dir.c
                    303: AddModule mod_cgi.c
                    304: AddModule mod_asis.c
                    305: AddModule mod_imap.c
                    306: AddModule mod_actions.c
                    307: #AddModule mod_speling.c
                    308: AddModule mod_userdir.c
                    309: AddModule mod_alias.c
                    310: AddModule mod_rewrite.c
                    311: AddModule mod_access.c
                    312: AddModule mod_auth.c
                    313: AddModule mod_auth_anon.c
                    314: AddModule mod_auth_db.c
                    315: #AddModule mod_auth_any.c
                    316: #AddModule mod_auth_dbm.c
                    317: #AddModule auth_ldap.c
                    318: #AddModule mod_auth_mysql.c
                    319: #AddModule mod_auth_pgsql.c
                    320: #AddModule mod_digest.c
                    321: #AddModule mod_proxy.c
                    322: #AddModule mod_cern_meta.c
                    323: AddModule mod_expires.c
                    324: AddModule mod_headers.c
                    325: #AddModule mod_usertrack.c
                    326: #AddModule mod_example.c
                    327: #AddModule mod_unique_id.c
                    328: AddModule mod_so.c
                    329: AddModule mod_setenvif.c
                    330: <IfDefine HAVE_PERL>
                    331: AddModule mod_perl.c
                    332: </IfDefine>
                    333: #<IfDefine HAVE_PHP>
                    334: #AddModule mod_php.c
                    335: #</IfDefine>
                    336: #<IfDefine HAVE_PHP3>
                    337: #AddModule mod_php3.c
                    338: #</IfDefine>
                    339: #<IfDefine HAVE_PHP4>
                    340: #AddModule mod_php4.c
                    341: #</IfDefine>
                    342: #<IfDefine HAVE_DAV>
                    343: #AddModule mod_dav.c
                    344: #</IfDefine>
                    345: #<IfDefine HAVE_ROAMING>
                    346: #AddModule mod_roaming.c
                    347: #</IfDefine>
                    348: #<IfDefine HAVE_SSL>
                    349: #AddModule mod_ssl.c
                    350: #</IfDefine>
                    351: #<IfDefine HAVE_PUT>
                    352: #AddModule mod_put.c
                    353: #</IfDefine>
                    354: #<IfDefine HAVE_PYTHON>
                    355: #AddModule mod_python.c
                    356: #</IfDefine>
                    357: 
                    358: #
                    359: # ExtendedStatus controls whether Apache will generate "full" status
                    360: # information (ExtendedStatus On) or just basic information (ExtendedStatus
                    361: # Off) when the "server-status" handler is called. The default is Off.
                    362: #
                    363: #ExtendedStatus On
                    364: 
                    365: ### Section 2: 'Main' server configuration
                    366: #
                    367: # The directives in this section set up the values used by the 'main'
                    368: # server, which responds to any requests that aren't handled by a
                    369: # <VirtualHost> definition.  These values also provide defaults for
                    370: # any <VirtualHost> containers you may define later in the file.
                    371: #
                    372: # All of these directives may appear inside <VirtualHost> containers,
                    373: # in which case these default settings will be overridden for the
                    374: # virtual host being defined.
                    375: #
                    376: 
                    377: #
                    378: # If your ServerType directive (set earlier in the 'Global Environment'
                    379: # section) is set to "inetd", the next few directives don't have any
                    380: # effect since their settings are defined by the inetd configuration.
                    381: # Skip ahead to the ServerAdmin directive.
                    382: #
                    383: 
                    384: #
                    385: # Port: The port to which the standalone server listens. For
                    386: # ports < 1023, you will need httpd to be run as root initially.
                    387: #
                    388: Port 80
                    389: 
                    390: ##
                    391: ##  SSL Support
                    392: ##
                    393: ##  When we also provide SSL we have to listen to the 
                    394: ##  standard HTTP port (see above) and to the HTTPS port
                    395: ##
                    396: <IfDefine HAVE_SSL>
                    397: Listen 80
                    398: Listen 443
                    399: </IfDefine>
                    400: 
                    401: #
                    402: # If you wish httpd to run as a different user or group, you must run
                    403: # httpd as root initially and it will switch.  
                    404: #
                    405: # User/Group: The name (or #number) of the user/group to run httpd as.
                    406: #  . On SCO (ODT 3) use "User nouser" and "Group nogroup".
                    407: #  . On HPUX you may not be able to use shared memory as nobody, and the
                    408: #    suggested workaround is to create a user www and use that user.
                    409: #  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
                    410: #  when the value of (unsigned)Group is above 60000; 
                    411: #  don't use Group "#-1" on these systems!
                    412: #
                    413: User www
                    414: Group www
                    415: 
                    416: #
                    417: # ServerAdmin: Your address, where problems with the server should be
                    418: # e-mailed.  This address appears on some server-generated pages, such
                    419: # as error documents.
                    420: #
                    421: ServerAdmin root@localhost
                    422: 
                    423: #
                    424: # ServerName allows you to set a host name which is sent back to clients for
                    425: # your server if it's different than the one the program would get (i.e., use
                    426: # "www" instead of the host's real name).
                    427: #
                    428: # Note: You cannot just invent host names and hope they work. The name you 
                    429: # define here must be a valid DNS name for your host. If you don't understand
                    430: # this, ask your network administrator.
                    431: # If your host doesn't have a registered DNS name, enter its IP address here.
                    432: # You will have to access it by its address (e.g., http://123.45.67.89/)
                    433: # anyway, and this will make redirections work in a sensible way.
                    434: #
                    435: # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your 
                    436: # machine always knows itself by this address. If you use Apache strictly for 
                    437: # local testing and development, you may use 127.0.0.1 as the server name.
                    438: #
                    439: #ServerName localhost
                    440: 
                    441: ##
                    442: ## DocumentRoot: The directory out of which you will serve your
                    443: ## documents. By default, all requests are taken from this directory, but
                    444: ## symbolic links and aliases may be used to point to other locations.
                    445: ##
                    446: #DocumentRoot "/home/www/html"
                    447: 
                    448: ##
                    449: ## Each directory to which Apache has access, can be configured with respect
                    450: ## to which services and features are allowed and/or disabled in that
                    451: ## directory (and its subdirectories). 
                    452: ##
                    453: ## First, we configure the "default" to be a very restrictive set of 
                    454: ## permissions.  
                    455: ##
                    456: #<Directory />
                    457: #    Options FollowSymLinks
                    458: #    AllowOverride None
                    459: #</Directory>
                    460: 
                    461: #
                    462: # Note that from this point forward you must specifically allow
                    463: # particular features to be enabled - so if something's not working as
                    464: # you might expect, make sure that you have specifically enabled it
                    465: # below.
                    466: #
                    467: 
                    468: ##
                    469: ## This should be changed to whatever you set DocumentRoot to.
                    470: ##
                    471: #<Directory "/home/www/html">
                    472: #
                    473: ##
                    474: ## This may also be "None", "All", or any combination of "Indexes",
                    475: ## "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
                    476: ##
                    477: ## Note that "MultiViews" must be named *explicitly* --- "Options All"
                    478: ## doesn't give it to you.
                    479: ##
                    480: ##    Options Indexes FollowSymLinks
                    481: #    Options FollowSymLinks
                    482: #
                    483: ##
                    484: ## This controls which options the .htaccess files in directories can
                    485: ## override. Can also be "All", or any combination of "Options", "FileInfo", 
                    486: ## "AuthConfig", and "Limit"
                    487: ##
                    488: #    AllowOverride None
                    489: #
                    490: ##
                    491: ## Controls who can get stuff from this server.
                    492: ##
                    493: #    Order allow,deny
                    494: #    Allow from all
                    495: #</Directory>
                    496: 
                    497: #
                    498: # UserDir: The name of the directory which is appended onto a user's home
                    499: # directory if a ~user request is received.
                    500: #
                    501: # The path to the end user account 'public_html' directory must be
                    502: # accessible to the webserver userid.  This usually means that ~userid
                    503: # must have permissions of 711, ~userid/public_html must have permissions
                    504: # of 755, and documents contained therein must be world-readable.
                    505: # Otherwise, the client will only receive a "403 Forbidden" message.
                    506: #
                    507: # See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden
                    508: #
                    509: #<IfModule mod_userdir.c>
                    510: #    UserDir public_html
                    511: #</IfModule>
                    512: 
                    513: #
                    514: # Control access to UserDir directories.  The following is an example
                    515: # for a site where these directories are restricted to read-only.
                    516: #
                    517: #<Directory /home/*/public_html>
                    518: #    AllowOverride FileInfo AuthConfig Limit
                    519: #    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                    520: #    <Limit GET POST OPTIONS PROPFIND>
                    521: #        Order allow,deny
                    522: #        Allow from all
                    523: #    </Limit>
                    524: #    <LimitExcept GET POST OPTIONS PROPFIND>
                    525: #        Order deny,allow
                    526: #        Deny from all
                    527: #    </LimitExcept>
                    528: #</Directory>
                    529: 
                    530: #
                    531: # DirectoryIndex: Name of the file or files to use as a pre-written HTML
                    532: # directory index.  Separate multiple entries with spaces.
                    533: #
                    534: <IfModule mod_dir.c>
                    535:     DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi
                    536: </IfModule>
                    537: 
                    538: #
                    539: # AccessFileName: The name of the file to look for in each directory
                    540: # for access control information.
                    541: #
                    542: AccessFileName .htaccess
                    543: 
                    544: #
                    545: # The following lines prevent .htaccess files from being viewed by
                    546: # Web clients.  Since .htaccess files often contain authorization
                    547: # information, access is disallowed for security reasons.  Comment
                    548: # these lines out if you want Web visitors to see the contents of
                    549: # .htaccess files.  If you change the AccessFileName directive above,
                    550: # be sure to make the corresponding changes here.
                    551: #
                    552: # Also, folks tend to use names such as .htpasswd for password
                    553: # files, so this will protect those as well.
                    554: #
                    555: <Files ~ "^\.ht">
                    556:     Order allow,deny
                    557:     Deny from all
                    558:     Satisfy All
                    559: </Files>
                    560: 
                    561: #
                    562: # CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
                    563: # document that was negotiated on the basis of content. This asks proxy
                    564: # servers not to cache the document. Uncommenting the following line disables
                    565: # this behavior, and proxies will be allowed to cache the documents.
                    566: #
                    567: #CacheNegotiatedDocs
                    568: 
                    569: #
                    570: # UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
                    571: # Apache needs to construct a self-referencing URL (a URL that refers back
                    572: # to the server the response is coming from) it will use ServerName and
                    573: # Port to form a "canonical" name.  With this setting off, Apache will
                    574: # use the hostname:port that the client supplied, when possible.  This
                    575: # also affects SERVER_NAME and SERVER_PORT in CGI scripts.
                    576: #
                    577: UseCanonicalName On
                    578: 
                    579: #
                    580: # TypesConfig describes where the mime.types file (or equivalent) is
                    581: # to be found.
                    582: #
                    583: <IfModule mod_mime.c>
1.2     ! raeburn   584:     TypesConfig conf/mime.types
1.1       raeburn   585: </IfModule>
                    586: 
                    587: #
                    588: # DefaultType is the default MIME type the server will use for a document
                    589: # if it cannot otherwise determine one, such as from filename extensions.
                    590: # If your server contains mostly text or HTML documents, "text/plain" is
                    591: # a good value.  If most of your content is binary, such as applications
                    592: # or images, you may want to use "application/octet-stream" instead to
                    593: # keep browsers from trying to display binary files as though they are
                    594: # text.
                    595: #
                    596: DefaultType text/plain
                    597: 
                    598: #
                    599: # The mod_mime_magic module allows the server to use various hints from the
                    600: # contents of the file itself to determine its type.  The MIMEMagicFile
                    601: # directive tells the module where the hint definitions are located.
                    602: # mod_mime_magic is not part of the default server (you have to add
                    603: # it yourself with a LoadModule [see the DSO paragraph in the 'Global
                    604: # Environment' section], or recompile the server and include mod_mime_magic
                    605: # as part of the configuration), so it's enclosed in an <IfModule> container.
                    606: # This means that the MIMEMagicFile directive will only be processed if the
                    607: # module is part of the server.
                    608: #
                    609: <IfModule mod_mime_magic.c>
                    610: #   MIMEMagicFile /usr/share/magic.mime
                    611:     MIMEMagicFile conf/magic
                    612: </IfModule>
                    613: 
                    614: #
                    615: # HostnameLookups: Log the names of clients or just their IP addresses
                    616: # e.g., www.apache.org (on) or 204.62.129.132 (off).
                    617: # The default is off because it'd be overall better for the net if people
                    618: # had to knowingly turn this feature on, since enabling it means that
                    619: # each client request will result in AT LEAST one lookup request to the
                    620: # nameserver.
                    621: #
                    622: HostnameLookups Off
                    623: 
                    624: #
                    625: # ErrorLog: The location of the error log file.
                    626: # If you do not specify an ErrorLog directive within a <VirtualHost>
                    627: # container, error messages relating to that virtual host will be
                    628: # logged here.  If you *do* define an error logfile for a <VirtualHost>
                    629: # container, that host's errors will be logged there and not here.
                    630: #
                    631: ErrorLog logs/error_log
                    632: 
                    633: #
                    634: # LogLevel: Control the number of messages logged to the error_log.
                    635: # Possible values include: debug, info, notice, warn, error, crit,
                    636: # alert, emerg.
                    637: #
                    638: LogLevel warn
                    639: 
                    640: #
                    641: # The following directives define some format nicknames for use with
                    642: # a CustomLog directive (see below).
                    643: #
                    644: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
                    645: LogFormat "%h %l %u %t \"%r\" %>s %b" common
                    646: LogFormat "%{Referer}i -> %U" referer
                    647: LogFormat "%{User-agent}i" agent
                    648: 
                    649: #
                    650: # The location and format of the access logfile (Common Logfile Format).
                    651: # If you do not define any access logfiles within a <VirtualHost>
                    652: # container, they will be logged here.  Contrariwise, if you *do*
                    653: # define per-<VirtualHost> access logfiles, transactions will be
                    654: # logged therein and *not* in this file.
                    655: #
                    656: # CustomLog /var/log/httpd/access_log common
                    657: CustomLog logs/access_log combined
                    658: 
                    659: #
                    660: # If you would like to have agent and referer logfiles, uncomment the
                    661: # following directives.
                    662: #
                    663: #CustomLog logs/referer_log referer
                    664: #CustomLog logs/agent_log agent
                    665: 
                    666: #
                    667: # If you prefer a single logfile with access, agent, and referer information
                    668: # (Combined Logfile Format) you can use the following directive.
                    669: #
                    670: #CustomLog logs/access_log combined
                    671: 
                    672: #
                    673: # Optionally add a line containing the server version and virtual host
                    674: # name to server-generated pages (error documents, FTP directory listings,
                    675: # mod_status and mod_info output etc., but not CGI generated documents).
                    676: # Set to "EMail" to also include a mailto: link to the ServerAdmin.
                    677: # Set to one of:  On | Off | EMail
                    678: #
                    679: ServerSignature On
                    680: 
                    681: # EBCDIC configuration:
                    682: # (only for mainframes using the EBCDIC codeset, currently one of:
                    683: # Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!!
                    684: # The following default configuration assumes that "text files"
                    685: # are stored in EBCDIC (so that you can operate on them using the
                    686: # normal POSIX tools like grep and sort) while "binary files" are
                    687: # stored with identical octets as on an ASCII machine.
                    688: #
                    689: # The directives are evaluated in configuration file order, with
                    690: # the EBCDICConvert directives applied before EBCDICConvertByType.
                    691: #
                    692: # If you want to have ASCII HTML documents and EBCDIC HTML documents
                    693: # at the same time, you can use the file extension to force
                    694: # conversion off for the ASCII documents:
                    695: # > AddType       text/html .ahtml
                    696: # > EBCDICConvert Off=InOut .ahtml
                    697: #
                    698: # EBCDICConvertByType  On=InOut text/* message/* multipart/*
                    699: # EBCDICConvertByType  On=In    application/x-www-form-urlencoded
                    700: # EBCDICConvertByType  On=InOut application/postscript model/vrml
                    701: # EBCDICConvertByType Off=InOut */*
                    702: 
                    703: 
                    704: #
                    705: # Aliases: Add here as many aliases as you need (with no limit). The format is 
                    706: # Alias fakename realname
                    707: #
                    708: <IfModule mod_alias.c>
                    709: 
                    710:     #
                    711:     # Note that if you include a trailing / on fakename then the server will
                    712:     # require it to be present in the URL.  So "/icons" isn't aliased in this
                    713:     # example, only "/icons/".  If the fakename is slash-terminated, then the 
                    714:     # realname must also be slash terminated, and if the fakename omits the 
                    715:     # trailing slash, the realname must also omit it.
                    716:     #
                    717:     Alias /icons/ "/home/httpd/icons/"
                    718: 
                    719:     <Directory "/home/httpd/icons">
                    720:         Options Indexes MultiViews
                    721:         AllowOverride None
                    722:         Order allow,deny
                    723:         Allow from all
                    724:     </Directory>
                    725: 
                    726:     # This Alias will project the on-line documentation tree under /manual/
                    727:     # even if you change the DocumentRoot. Comment it if you don't want to 
                    728:     # provide access to the on-line documentation.
                    729:     #
                    730:     # Alias /manual/ "/etc/httpd/htdocs/manual/"
                    731:     #
                    732:     # <Directory "/etc/httpd/htdocs/manual">
                    733:     #     Options Indexes FollowSymlinks MultiViews
                    734:     #     AllowOverride None
                    735:     #     Order allow,deny
                    736:     #     Allow from all
                    737:     # </Directory>
                    738: 
                    739:     #
                    740:     # ScriptAlias: This controls which directories contain server scripts.
                    741:     # ScriptAliases are essentially the same as Aliases, except that
                    742:     # documents in the realname directory are treated as applications and
                    743:     # run by the server when requested rather than as documents sent to the client.
                    744:     # The same rules about trailing "/" apply to ScriptAlias directives as to
                    745:     # Alias.
                    746:     #
                    747:     ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
                    748: 
                    749:     #
                    750:     # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
                    751:     # CGI directory exists, if you have that configured.
                    752:     #
                    753:     <Directory "/home/httpd/cgi-bin">
                    754:         AllowOverride None
                    755:         Options None
                    756:         Order allow,deny
                    757:         Allow from all
                    758:     </Directory>
                    759: 
                    760: </IfModule>
                    761: # End of aliases.
                    762: 
                    763: #
                    764: # Redirect allows you to tell clients about documents which used to exist in
                    765: # your server's namespace, but do not anymore. This allows you to tell the
                    766: # clients where to look for the relocated document.
                    767: # Format: Redirect old-URI new-URL
                    768: #
                    769: 
                    770: #
                    771: # Directives controlling the display of server-generated directory listings.
                    772: #
                    773: <IfModule mod_autoindex.c>
                    774: 
                    775:     #
                    776:     # FancyIndexing is whether you want fancy directory indexing or standard
                    777:     #
                    778:     IndexOptions FancyIndexing NameWidth=*
                    779: 
                    780:     #
                    781:     # AddIcon* directives tell the server which icon to show for different
                    782:     # files or filename extensions.  These are only displayed for
                    783:     # FancyIndexed directories.
                    784:     #
                    785:     AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
                    786: 
                    787:     AddIconByType (TXT,/icons/text.gif) text/*
                    788:     AddIconByType (IMG,/icons/image2.gif) image/*
                    789:     AddIconByType (SND,/icons/sound2.gif) audio/*
                    790:     AddIconByType (VID,/icons/movie.gif) video/*
                    791: 
                    792:     AddIcon /icons/binary.gif .bin .exe
                    793:     AddIcon /icons/binhex.gif .hqx
                    794:     AddIcon /icons/tar.gif .tar
                    795:     AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
                    796:     AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
                    797:     AddIcon /icons/a.gif .ps .ai .eps
                    798:     AddIcon /icons/layout.gif .html .shtml .htm .pdf
                    799:     AddIcon /icons/text.gif .txt
                    800:     AddIcon /icons/c.gif .c
                    801:     AddIcon /icons/p.gif .pl .py
                    802:     AddIcon /icons/f.gif .for
                    803:     AddIcon /icons/dvi.gif .dvi
                    804:     AddIcon /icons/uuencoded.gif .uu
                    805:     AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
                    806:     AddIcon /icons/tex.gif .tex
                    807:     AddIcon /icons/bomb.gif core
                    808: 
                    809:     AddIcon /icons/back.gif ..
                    810:     AddIcon /icons/hand.right.gif README
                    811:     AddIcon /icons/folder.gif ^^DIRECTORY^^
                    812:     AddIcon /icons/blank.gif ^^BLANKICON^^
                    813: 
                    814:     #
                    815:     # DefaultIcon is which icon to show for files which do not have an icon
                    816:     # explicitly set.
                    817:     #
                    818:     DefaultIcon /icons/unknown.gif
                    819: 
                    820:     #
                    821:     # AddDescription allows you to place a short description after a file in
                    822:     # server-generated indexes.  These are only displayed for FancyIndexed
                    823:     # directories.
                    824:     # Format: AddDescription "description" filename
                    825:     #
                    826:     #AddDescription "GZIP compressed document" .gz
                    827:     #AddDescription "tar archive" .tar
                    828:     #AddDescription "GZIP compressed tar archive" .tgz
                    829: 
                    830:     #
                    831:     # ReadmeName is the name of the README file the server will look for by
                    832:     # default, and append to directory listings.
                    833:     #
                    834:     # HeaderName is the name of a file which should be prepended to
                    835:     # directory indexes. 
                    836:     #
                    837:     # If MultiViews are amongst the Options in effect, the server will
                    838:     # first look for name.html and include it if found.  If name.html
                    839:     # doesn't exist, the server will then look for name.txt and include
                    840:     # it as plaintext if found.
                    841:     #
                    842:     ReadmeName README
                    843:     HeaderName HEADER
                    844: 
                    845:     #
                    846:     # IndexIgnore is a set of filenames which directory indexing should ignore
                    847:     # and not include in the listing.  Shell-style wildcarding is permitted.
                    848:     #
                    849:     IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
                    850: 
                    851: </IfModule>
                    852: # End of indexing directives.
                    853: 
                    854: #
                    855: # Document types.
                    856: #
                    857: <IfModule mod_mime.c>
                    858: 
                    859:     #
                    860:     # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
                    861:     # information on the fly. Note: Not all browsers support this.
                    862:     # Despite the name similarity, the following Add* directives have nothing
                    863:     # to do with the FancyIndexing customization directives above.
                    864:     #
                    865:     AddEncoding x-compress Z
                    866:     AddEncoding x-gzip gz tgz
                    867: 
                    868:     #
                    869:     # AddLanguage allows you to specify the language of a document. You can
                    870:     # then use content negotiation to give a browser a file in a language
                    871:     # it can understand.  
                    872:     #
                    873:     # Note 1: The suffix does not have to be the same as the language 
                    874:     # keyword --- those with documents in Polish (whose net-standard 
                    875:     # language code is pl) may wish to use "AddLanguage pl .po" to 
                    876:     # avoid the ambiguity with the common suffix for perl scripts.
                    877:     #
                    878:     # Note 2: The example entries below illustrate that in quite
                    879:     # some cases the two character 'Language' abbreviation is not
                    880:     # identical to the two character 'Country' code for its country,
                    881:     # E.g. 'Danmark/dk' versus 'Danish/da'.
                    882:     #
                    883:     # Note 3: In the case of 'ltz' we violate the RFC by using a three char 
                    884:     # specifier. But there is 'work in progress' to fix this and get 
                    885:     # the reference data for rfc1766 cleaned up.
                    886:     #
                    887:     # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
                    888:     # French (fr) - German (de) - Greek-Modern (el)
                    889:     # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
                    890:     # Portugese (pt) - Luxembourgeois* (ltz)
                    891:     # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
                    892:     # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
                    893:     # Russian (ru)
                    894:     #
                    895:     AddLanguage da .dk
                    896:     AddLanguage nl .nl
                    897:     AddLanguage en .en
                    898:     AddLanguage et .ee
                    899:     AddLanguage fr .fr
                    900:     AddLanguage de .de
                    901:     AddLanguage el .el
                    902:     AddLanguage he .he
                    903:     AddCharset ISO-8859-8 .iso8859-8
                    904:     AddLanguage it .it
                    905:     AddLanguage ja .ja
                    906:     AddCharset ISO-2022-JP .jis
                    907:     AddLanguage kr .kr
                    908:     AddCharset ISO-2022-KR .iso-kr
                    909:     AddLanguage nn .nn
                    910:     AddLanguage no .no
                    911:     AddLanguage pl .po
                    912:     AddCharset ISO-8859-2 .iso-pl
                    913:     AddLanguage pt .pt
                    914:     AddLanguage pt-br .pt-br
                    915:     AddLanguage ltz .lu
                    916:     AddLanguage ca .ca
                    917:     AddLanguage es .es
                    918:     AddLanguage sv .se
                    919:     AddLanguage cz .cz
                    920:     AddLanguage ru .ru
                    921:     AddLanguage zh-tw .tw
                    922:     AddLanguage tw .tw
                    923:     AddCharset Big5         .Big5    .big5
                    924:     AddCharset WINDOWS-1251 .cp-1251
                    925:     AddCharset CP866        .cp866
                    926:     AddCharset ISO-8859-5   .iso-ru
                    927:     AddCharset KOI8-R       .koi8-r
                    928:     AddCharset UCS-2        .ucs2
                    929:     AddCharset UCS-4        .ucs4
                    930:     AddCharset UTF-8        .utf8
                    931: 
                    932:     # LanguagePriority allows you to give precedence to some languages
                    933:     # in case of a tie during content negotiation.
                    934:     #
                    935:     # Just list the languages in decreasing order of preference. We have
                    936:     # more or less alphabetized them here. You probably want to change this.
                    937:     #
                    938:     <IfModule mod_negotiation.c>
                    939:         LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
                    940:     </IfModule>
                    941: 
                    942:     #
                    943:     # AddType allows you to tweak mime.types without actually editing it, or to
                    944:     # make certain files to be certain types.
                    945:     #
                    946:     AddType application/x-tar .tgz
                    947: 
                    948:     #
                    949:     # These types cause httpd to let the PHP interpreter handle files with
                    950:     # the specified extensions.
                    951:     #
                    952:     ##<IfModule mod_php4.c>
                    953:     ##    AddType application/x-httpd-php .php .php4 .php3 .phtml
                    954:     ##    AddType application/x-httpd-php-source .phps
                    955:     ##</IfModule>
                    956:     ##<IfModule mod_php3.c>
                    957:     ##    AddType application/x-httpd-php3 .php3
                    958:     ##    AddType application/x-httpd-php3-source .phps
                    959:     ##</IfModule>
                    960:     ##<IfModule mod_php.c>
                    961:     ##    AddType application/x-httpd-php .phtml
                    962:     ##</IfModule>
                    963: 
                    964:     #
                    965:     # AddHandler allows you to map certain file extensions to "handlers",
                    966:     # actions unrelated to filetype. These can be either built into the server
                    967:     # or added with the Action command (see below)
                    968:     #
                    969:     # If you want to use server side includes, or CGI outside
                    970:     # ScriptAliased directories, uncomment the following lines.
                    971:     #
                    972:     # To use CGI scripts:
                    973:     #
                    974:     #AddHandler cgi-script .cgi
                    975: 
                    976:     #
                    977:     # To use server-parsed HTML files
                    978:     #
                    979:     AddType text/html .shtml
                    980:     AddHandler server-parsed .shtml
                    981: 
                    982:     #
                    983:     # Uncomment the following line to enable Apache's send-asis HTTP file
                    984:     # feature
                    985:     #
                    986:     #AddHandler send-as-is asis
                    987: 
                    988:     #
                    989:     # If you wish to use server-parsed imagemap files, use
                    990:     #
                    991:     AddHandler imap-file map
                    992: 
                    993:     #
                    994:     # To enable type maps, you might want to use
                    995:     #
                    996:     #AddHandler type-map var
                    997: 
                    998: </IfModule>
                    999: # End of document types.
                   1000: 
                   1001: #
                   1002: # Action lets you define media types that will execute a script whenever
                   1003: # a matching file is called. This eliminates the need for repeated URL
                   1004: # pathnames for oft-used CGI file processors.
                   1005: # Format: Action media/type /cgi-script/location
                   1006: # Format: Action handler-name /cgi-script/location
                   1007: #
                   1008: 
                   1009: #
                   1010: # MetaDir: specifies the name of the directory in which Apache can find
                   1011: # meta information files. These files contain additional HTTP headers
                   1012: # to include when sending the document
                   1013: #
                   1014: #MetaDir .web
                   1015: 
                   1016: #
                   1017: # MetaSuffix: specifies the file name suffix for the file containing the
                   1018: # meta information.
                   1019: #
                   1020: #MetaSuffix .meta
                   1021: 
                   1022: #
                   1023: # Customizable error response (Apache style)
                   1024: #  these come in three flavors
                   1025: #
                   1026: #    1) plain text
                   1027: #ErrorDocument 500 "The server made a boo boo.
                   1028: #  n.b.  the single leading (") marks it as text, it does not get output
                   1029: #
                   1030: #    2) local redirects
                   1031: #ErrorDocument 404 /missing.html
                   1032: #  to redirect to local URL /missing.html
                   1033: #ErrorDocument 404 /cgi-bin/missing_handler.pl
                   1034: #  N.B.: You can redirect to a script or a document using server-side-includes.
                   1035: #
                   1036: #    3) external redirects
                   1037: #ErrorDocument 402 http://some.other-server.com/subscription_info.html
                   1038: #  N.B.: Many of the environment variables associated with the original
                   1039: #  request will *not* be available to such a script.
                   1040: 
                   1041: #
                   1042: # Customize behaviour based on the browser
                   1043: #
                   1044: <IfModule mod_setenvif.c>
                   1045: 
                   1046:     #
                   1047:     # The following directives modify normal HTTP response behavior.
                   1048:     # The first directive disables keepalive for Netscape 2.x and browsers that
                   1049:     # spoof it. There are known problems with these browser implementations.
                   1050:     # The second directive is for Microsoft Internet Explorer 4.0b2
                   1051:     # which has a broken HTTP/1.1 implementation and does not properly
                   1052:     # support keepalive when it is used on 301 or 302 (redirect) responses.
                   1053:     #
                   1054:     BrowserMatch "Mozilla/2" nokeepalive
                   1055:     BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
                   1056: 
                   1057:     #
                   1058:     # The following directive disables HTTP/1.1 responses to browsers which
                   1059:     # are in violation of the HTTP/1.0 spec by not being able to grok a
                   1060:     # basic 1.1 response.
                   1061:     #
                   1062:     BrowserMatch "RealPlayer 4\.0" force-response-1.0
                   1063:     BrowserMatch "Java/1\.0" force-response-1.0
                   1064:     BrowserMatch "JDK/1\.0" force-response-1.0
                   1065: 
                   1066: </IfModule>
                   1067: # End of browser customization directives
                   1068: 
                   1069: #
                   1070: # If the perl module is installed, this will allow execution of mod_perl
                   1071: # to compile your scripts to subroutines which it will execute directly,
                   1072: # avoiding the costly compile process for most requests.
                   1073: #
                   1074: #<IfModule mod_perl.c>
                   1075: #    Alias /perl /var/www/perl
                   1076: #    <Directory /var/www/perl>
                   1077: #        SetHandler perl-script
                   1078: #        PerlHandler Apache::Registry
                   1079: #        Options +ExecCGI
                   1080: #    </Directory>
                   1081: #</IfModule>
                   1082: 
                   1083: #
                   1084: # Allow http put (such as Netscape Gold's publish feature)
                   1085: # Use htpasswd to generate /etc/httpd/conf/passwd.
                   1086: #
                   1087: #<IfModule mod_put.c>
                   1088: #    Alias /upload /tmp
                   1089: #    <Directory /tmp>
                   1090: #        EnablePut On
                   1091: #        AuthType Basic
                   1092: #        AuthName Temporary
                   1093: #        AuthUserFile /etc/httpd/conf/passwd
                   1094: #        EnableDelete Off
                   1095: #        umask 007
                   1096: #        <Limit PUT>
                   1097: #            require valid-user
                   1098: #        </Limit>
                   1099: #    </Directory>
                   1100: #</IfModule>
                   1101: 
                   1102: #
                   1103: # Allow server status reports, with the URL of http://servername/server-status
                   1104: # Change the ".your-domain.com" to match your domain to enable.
                   1105: #
                   1106: #<Location /server-status>
                   1107: #    SetHandler server-status
                   1108: #    Order deny,allow
                   1109: #    Deny from all
                   1110: #    Allow from .your-domain.com
                   1111: #</Location>
                   1112: 
                   1113: #
                   1114: # Allow remote server configuration reports, with the URL of
                   1115: # http://servername/server-info (requires that mod_info.c be loaded).
                   1116: # Change the ".your-domain.com" to match your domain to enable.
                   1117: #
                   1118: #<Location /server-info>
                   1119: #    SetHandler server-info
                   1120: #    Order deny,allow
                   1121: #    Deny from all
                   1122: #    Allow from .your-domain.com
                   1123: #</Location>
                   1124: 
                   1125: #
                   1126: # Allow access to local system documentation from localhost
                   1127: #
                   1128: Alias /doc/ /usr/share/doc/
                   1129: <Directory /usr/share/doc>
                   1130:     order deny,allow
                   1131:     deny from all
                   1132:     allow from localhost .localdomain
                   1133:     Options Indexes FollowSymLinks
                   1134: </Directory>
                   1135: 
                   1136: #
                   1137: # There have been reports of people trying to abuse an old bug from pre-1.1
                   1138: # days.  This bug involved a CGI script distributed as a part of Apache.
                   1139: # By uncommenting these lines you can redirect these attacks to a logging 
                   1140: # script on phf.apache.org.  Or, you can record them yourself, using the script
                   1141: # support/phf_abuse_log.cgi.
                   1142: #
                   1143: #<Location /cgi-bin/phf*>
                   1144: #    Deny from all
                   1145: #    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
                   1146: #</Location>
                   1147: 
                   1148: #
                   1149: # Proxy Server directives. Uncomment the following lines to
                   1150: # enable the proxy server:
                   1151: #
                   1152: #<IfModule mod_proxy.c>
                   1153: #    ProxyRequests On
                   1154: 
                   1155: #    <Directory proxy:*>
                   1156: #        Order deny,allow
                   1157: #        Deny from all
                   1158: #        Allow from .your-domain.com
                   1159: #    </Directory>
                   1160: 
                   1161:     #
                   1162:     # Enable/disable the handling of HTTP/1.1 "Via:" headers.
                   1163:     # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
                   1164:     # Set to one of: Off | On | Full | Block
                   1165:     #
                   1166: #    ProxyVia On
                   1167: 
                   1168:     #
                   1169:     # To enable the cache as well, edit and uncomment the following lines:
                   1170:     # (no caching without CacheRoot)
                   1171:     #
                   1172: #    CacheRoot "/var/cache/httpd"
                   1173: #    CacheSize 5
                   1174: #    CacheGcInterval 4
                   1175: #    CacheMaxExpire 24
                   1176: #    CacheLastModifiedFactor 0.1
                   1177: #    CacheDefaultExpire 1
                   1178: #    NoCache a-domain.com another-domain.edu joes.garage-sale.com
                   1179: 
                   1180: #</IfModule>
                   1181: # End of proxy directives.
                   1182: 
                   1183: ### Section 3: Virtual Hosts
                   1184: #
                   1185: # VirtualHost: If you want to maintain multiple domains/hostnames on your
                   1186: # machine you can setup VirtualHost containers for them. Most configurations
                   1187: # use only name-based virtual hosts so the server doesn't need to worry about
                   1188: # IP addresses. This is indicated by the asterisks in the directives below.
                   1189: #
                   1190: # Please see the documentation at <URL:http://www.apache.org/docs/vhosts/>
                   1191: # for further details before you try to setup virtual hosts.
                   1192: #
                   1193: # You may use the command line option '-S' to verify your virtual host
                   1194: # configuration.
                   1195: 
                   1196: #
                   1197: # Use name-based virtual hosting.
                   1198: #
                   1199: #NameVirtualHost *
                   1200: 
                   1201: #
                   1202: # VirtualHost example:
                   1203: # Almost any Apache directive may go into a VirtualHost container.
                   1204: # The first VirtualHost section is used for requests without a known
                   1205: # server name.
                   1206: #
                   1207: #<VirtualHost *>
                   1208: #    ServerAdmin webmaster@dummy-host.example.com
                   1209: #    DocumentRoot /www/docs/dummy-host.example.com
                   1210: #    ServerName dummy-host.example.com
                   1211: #    ErrorLog logs/dummy-host.example.com-error_log
                   1212: #    CustomLog logs/dummy-host.example.com-access_log common
                   1213: #</VirtualHost>
                   1214: 
                   1215: #<VirtualHost _default_:*>
                   1216: #</VirtualHost>
                   1217: 
                   1218: ##
                   1219: ##  SSL Global Context
                   1220: ##
                   1221: ##  All SSL configuration in this context applies both to
                   1222: ##  the main server and all SSL-enabled virtual hosts.
                   1223: ##
                   1224: 
                   1225: #
                   1226: #   Some MIME-types for downloading Certificates and CRLs
                   1227: #
                   1228: <IfDefine HAVE_SSL>
                   1229: AddType application/x-x509-ca-cert .crt
                   1230: AddType application/x-pkcs7-crl    .crl
                   1231: </IfDefine>
                   1232: 
                   1233: <IfModule mod_ssl.c>
                   1234: 
                   1235: #   Pass Phrase Dialog:
                   1236: #   Configure the pass phrase gathering process.
                   1237: #   The filtering dialog program (`builtin' is a internal
                   1238: #   terminal dialog) has to provide the pass phrase on stdout.
                   1239: SSLPassPhraseDialog  builtin
                   1240: 
                   1241: #   Inter-Process Session Cache:
                   1242: #   Configure the SSL Session Cache: First the mechanism 
                   1243: #   to use and second the expiring timeout (in seconds).
                   1244: #SSLSessionCache        none
                   1245: #SSLSessionCache        shmht:logs/ssl_scache(512000)
                   1246: #SSLSessionCache        shmcb:logs/ssl_scache(512000)
                   1247: SSLSessionCache         dbm:logs/ssl_scache
                   1248: SSLSessionCacheTimeout  300
                   1249: 
                   1250: #   Semaphore:
                   1251: #   Configure the path to the mutual exclusion semaphore the
                   1252: #   SSL engine uses internally for inter-process synchronization. 
                   1253: SSLMutex  file:logs/ssl_mutex
                   1254: 
                   1255: #   Pseudo Random Number Generator (PRNG):
                   1256: #   Configure one or more sources to seed the PRNG of the 
                   1257: #   SSL library. The seed data should be of good random quality.
                   1258: #   WARNING! On some platforms /dev/random blocks if not enough entropy
                   1259: #   is available. This means you then cannot use the /dev/random device
                   1260: #   because it would lead to very long connection times (as long as
                   1261: #   it requires to make more entropy available). But usually those
                   1262: #   platforms additionally provide a /dev/urandom device which doesn't
                   1263: #   block. So, if available, use this one instead. Read the mod_ssl User
                   1264: #   Manual for more details.
                   1265: SSLRandomSeed startup builtin
                   1266: SSLRandomSeed connect builtin
                   1267: #SSLRandomSeed startup file:/dev/random  512
                   1268: #SSLRandomSeed startup file:/dev/urandom 512
                   1269: #SSLRandomSeed connect file:/dev/random  512
                   1270: #SSLRandomSeed connect file:/dev/urandom 512
                   1271: 
                   1272: #   Logging:
                   1273: #   The home of the dedicated SSL protocol logfile. Errors are
                   1274: #   additionally duplicated in the general error log file.  Put
                   1275: #   this somewhere where it cannot be used for symlink attacks on
                   1276: #   a real server (i.e. somewhere where only root can write).
                   1277: #   Log levels are (ascending order: higher ones include lower ones):
                   1278: #   none, error, warn, info, trace, debug.
                   1279: SSLLog      logs/ssl_engine_log
                   1280: SSLLogLevel error
                   1281: 
                   1282: </IfModule>
                   1283: 
                   1284: <IfDefine HAVE_SSL>
                   1285: 
                   1286: ##
                   1287: ## SSL Virtual Host Context
                   1288: ##
                   1289: 
                   1290: <VirtualHost _default_:443>
                   1291: 
                   1292: #  General setup for the virtual host
                   1293: #DocumentRoot "/etc/httpd/htdocs"
                   1294: #ServerName new.host.name
                   1295: #ServerAdmin you@your.address
                   1296: ErrorLog logs/error_log
                   1297: TransferLog logs/access_log
                   1298: 
                   1299: #   SSL Engine Switch:
                   1300: #   Enable/Disable SSL for this virtual host.
                   1301: SSLEngine on
                   1302: 
                   1303: #   SSL Cipher Suite:
                   1304: #   List the ciphers that the client is permitted to negotiate.
                   1305: #   See the mod_ssl documentation for a complete list.
                   1306: #SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
                   1307: 
                   1308: #   Server Certificate:
                   1309: #   Point SSLCertificateFile at a PEM encoded certificate.  If
                   1310: #   the certificate is encrypted, then you will be prompted for a
                   1311: #   pass phrase.  Note that a kill -HUP will prompt again. A test
                   1312: #   certificate can be generated with `make certificate' under
                   1313: #   built time. Keep in mind that if you've both a RSA and a DSA
                   1314: #   certificate you can configure both in parallel (to also allow
                   1315: #   the use of DSA ciphers, etc.)
                   1316: SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
                   1317: #SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt
                   1318: 
                   1319: #   Server Private Key:
                   1320: #   If the key is not combined with the certificate, use this
                   1321: #   directive to point at the key file.  Keep in mind that if
                   1322: #   you've both a RSA and a DSA private key you can configure
                   1323: #   both in parallel (to also allow the use of DSA ciphers, etc.)
                   1324: SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
                   1325: #SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key
                   1326: 
                   1327: #   Server Certificate Chain:
                   1328: #   Point SSLCertificateChainFile at a file containing the
                   1329: #   concatenation of PEM encoded CA certificates which form the
                   1330: #   certificate chain for the server certificate. Alternatively
                   1331: #   the referenced file can be the same as SSLCertificateFile
                   1332: #   when the CA certificates are directly appended to the server
                   1333: #   certificate for convinience.
                   1334: #SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt
                   1335: 
                   1336: #   Certificate Authority (CA):
                   1337: #   Set the CA certificate verification path where to find CA
                   1338: #   certificates for client authentication or alternatively one
                   1339: #   huge file containing all of them (file must be PEM encoded)
                   1340: #   Note: Inside SSLCACertificatePath you need hash symlinks
                   1341: #         to point to the certificate files. Use the provided
                   1342: #         Makefile to update the hash symlinks after changes.
                   1343: #SSLCACertificatePath /etc/httpd/conf/ssl.crt
                   1344: #SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt
                   1345: 
                   1346: #   Certificate Revocation Lists (CRL):
                   1347: #   Set the CA revocation path where to find CA CRLs for client
                   1348: #   authentication or alternatively one huge file containing all
                   1349: #   of them (file must be PEM encoded)
                   1350: #   Note: Inside SSLCARevocationPath you need hash symlinks
                   1351: #         to point to the certificate files. Use the provided
                   1352: #         Makefile to update the hash symlinks after changes.
                   1353: #SSLCARevocationPath /etc/httpd/conf/ssl.crl
                   1354: #SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl
                   1355: 
                   1356: #   Client Authentication (Type):
                   1357: #   Client certificate verification type and depth.  Types are
                   1358: #   none, optional, require and optional_no_ca.  Depth is a
                   1359: #   number which specifies how deeply to verify the certificate
                   1360: #   issuer chain before deciding the certificate is not valid.
                   1361: #SSLVerifyClient require
                   1362: #SSLVerifyDepth  10
                   1363: 
                   1364: #   Access Control:
                   1365: #   With SSLRequire you can do per-directory access control based
                   1366: #   on arbitrary complex boolean expressions containing server
                   1367: #   variable checks and other lookup directives.  The syntax is a
                   1368: #   mixture between C and Perl.  See the mod_ssl documentation
                   1369: #   for more details.
                   1370: #<Location />
                   1371: #SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
                   1372: #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
                   1373: #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
                   1374: #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
                   1375: #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
                   1376: #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
                   1377: #</Location>
                   1378: 
                   1379: #   SSL Engine Options:
                   1380: #   Set various options for the SSL engine.
                   1381: #   o FakeBasicAuth:
                   1382: #     Translate the client X.509 into a Basic Authorisation.  This means that
                   1383: #     the standard Auth/DBMAuth methods can be used for access control.  The
                   1384: #     user name is the `one line' version of the client's X.509 certificate.
                   1385: #     Note that no password is obtained from the user. Every entry in the user
                   1386: #     file needs this password: `xxj31ZMTZzkVA'.
                   1387: #   o ExportCertData:
                   1388: #     This exports two additional environment variables: SSL_CLIENT_CERT and
                   1389: #     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
                   1390: #     server (always existing) and the client (only existing when client
                   1391: #     authentication is used). This can be used to import the certificates
                   1392: #     into CGI scripts.
                   1393: #   o StdEnvVars:
                   1394: #     This exports the standard SSL/TLS related `SSL_*' environment variables.
                   1395: #     Per default this exportation is switched off for performance reasons,
                   1396: #     because the extraction step is an expensive operation and is usually
                   1397: #     useless for serving static content. So one usually enables the
                   1398: #     exportation for CGI and SSI requests only.
                   1399: #   o CompatEnvVars:
                   1400: #     This exports obsolete environment variables for backward compatibility
                   1401: #     to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this
                   1402: #     to provide compatibility to existing CGI scripts.
                   1403: #   o StrictRequire:
                   1404: #     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
                   1405: #     under a "Satisfy any" situation, i.e. when it applies access is denied
                   1406: #     and no other module can change it.
                   1407: #   o OptRenegotiate:
                   1408: #     This enables optimized SSL connection renegotiation handling when SSL
                   1409: #     directives are used in per-directory context. 
                   1410: #SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
                   1411: <Files ~ "\.(cgi|shtml|phtml|php3?)$">
                   1412:     SSLOptions +StdEnvVars
                   1413: </Files>
                   1414: <Directory "/var/www/cgi-bin">
                   1415:     SSLOptions +StdEnvVars
                   1416: </Directory>
                   1417: 
                   1418: #   SSL Protocol Adjustments:
                   1419: #   The safe and default but still SSL/TLS standard compliant shutdown
                   1420: #   approach is that mod_ssl sends the close notify alert but doesn't wait for
                   1421: #   the close notify alert from client. When you need a different shutdown
                   1422: #   approach you can use one of the following variables:
                   1423: #   o ssl-unclean-shutdown:
                   1424: #     This forces an unclean shutdown when the connection is closed, i.e. no
                   1425: #     SSL close notify alert is send or allowed to received.  This violates
                   1426: #     the SSL/TLS standard but is needed for some brain-dead browsers. Use
                   1427: #     this when you receive I/O errors because of the standard approach where
                   1428: #     mod_ssl sends the close notify alert.
                   1429: #   o ssl-accurate-shutdown:
                   1430: #     This forces an accurate shutdown when the connection is closed, i.e. a
                   1431: #     SSL close notify alert is send and mod_ssl waits for the close notify
                   1432: #     alert of the client. This is 100% SSL/TLS standard compliant, but in
                   1433: #     practice often causes hanging connections with brain-dead browsers. Use
                   1434: #     this only for browsers where you know that their SSL implementation
                   1435: #     works correctly. 
                   1436: #   Notice: Most problems of broken clients are also related to the HTTP
                   1437: #   keep-alive facility, so you usually additionally want to disable
                   1438: #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
                   1439: #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
                   1440: #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
                   1441: #   "force-response-1.0" for this.
                   1442: SetEnvIf User-Agent ".*MSIE.*" \
                   1443:          nokeepalive ssl-unclean-shutdown \
                   1444:          downgrade-1.0 force-response-1.0
                   1445: 
                   1446: #   Per-Server Logging:
                   1447: #   The home of a custom SSL log file. Use this when you want a
                   1448: #   compact non-error SSL logfile on a virtual host basis.
                   1449: CustomLog logs/ssl_request_log \
                   1450:           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
                   1451: 
                   1452: </VirtualHost>                                  
                   1453: 
                   1454: </IfDefine>
                   1455: 
                   1456: Include conf/srm.conf
                   1457: Include conf/access.conf
                   1458: Include conf/loncapa_apache.conf

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>