diff options
-rw-r--r-- | httpd/conf/httpd.conf | 597 |
1 files changed, 31 insertions, 566 deletions
diff --git a/httpd/conf/httpd.conf b/httpd/conf/httpd.conf index 9376213..e9f4fd0 100644 --- a/httpd/conf/httpd.conf +++ b/httpd/conf/httpd.conf @@ -1,581 +1,46 @@ # -# httpd.conf for validator.w3.org +# Example httpd.conf snippet for W3C MarkUp Validation Service +# Note that this is not a complete server configuration file, but contains +# only the validator-specific part. # -# $Id: httpd.conf,v 1.16 2002-11-07 05:21:55 ot Exp $ +# You may use the Include directive for including this in your main httpd.conf. # - -# This is the main server configuration file. See URL http://www.apache.org/ -# for instructions. - -# Do NOT simply read the instructions in here without understanding -# what they do, if you are unsure consult the online docs. You have been -# warned. - -# Originally by Rob McCool - -# 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. -# Please read the file README.DSO in the Apache 1.3 distribution for more -# details about the DSO mechanism and run `httpd -l' for the list of already -# built-in (statically linked and thus always available) modules in your httpd -# binary. +# $Id: httpd.conf,v 1.17 2002-11-25 20:45:43 ville Exp $ # -# Example: -# LoadModule foo_module libexec/mod_foo.so - -# ServerType is either inetd, or standalone. - -ServerType standalone - -# If you are running from inetd, go to "ServerAdmin". - -# Port: The port the standalone listens to. For ports < 1023, you will -# need httpd to be run as root initially. - -Port 80 - -# HostnameLookups: Log the names of clients or just their IP numbers -# 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. - -HostnameLookups off - -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. - -# User/Group: The name (or #number) of the user/group to run httpd as. -# On SCO (ODT 3) use User nouser and Group nogroup -# On HPUX you may not be able to use shared memory as nobody, and the -# suggested workaround is to create a user www and use that user. -# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) -# when the value of (unsigned)Group is above 60000; -# don't use Group #-1 on these systems! - -User nobody -Group nobody - -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. - -ServerAdmin gerald@w3.org - -# ServerRoot: The directory the server's config, error, and log files -# are kept in. -# NOTE! If you intend to place this on a NFS (or otherwise network) -# mounted filesystem then please read the LockFile documentation, -# you will save yourself a lot of trouble. - -ServerRoot /usr/local/apache - -# BindAddress: You can support virtual hosts with this option. This option -# is used to tell the server which IP address to listen to. It can either -# contain "*", an IP address, or a fully qualified Internet domain name. -# See also the VirtualHost directive. - -#BindAddress * - -# ErrorLog: The location of the error log file. If this does not start -# with /, ServerRoot is prepended to it. - -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). - -LogFormat "%{%Y-%m-%dT%H:%M:%SZ}t %s %b na %f %h %u \"%r\" \"%{Referer}i\" \"%{Content-Type}o\" \"%{Last-Modified}o\" \"%{User-agent}i\" \"%{Host}i\"" w3c - -# The location of the access logfile (Common Logfile Format). -# If this does not start with /, ServerRoot is prepended to it. - -CustomLog logs/complete_log w3c - -# PidFile: The file the server should log its pid to -PidFile logs/httpd.pid - -# ScoreBoardFile: File used to store internal server process information. -# Not all architectures require this. But if yours does (you'll know because -# this file is created when you run Apache) then you *must* ensure that -# no two invocations of Apache share the same scoreboard file. -ScoreBoardFile logs/apache_runtime_status - -# The LockFile directive sets the path to the lockfile used when Apache -# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or -# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at -# its default value. The main reason for changing it is if the logs -# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL -# DISK. The PID of the main server process is automatically appended to -# the filename. -# -#LockFile logs/accept.lock - -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e. use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. - -ServerName validator.w3.org - -# UseCanonicalName: (new for 1.3) With this setting turned on, whenever -# Apache needs to construct a self-referencing URL (a url that refers back -# to the server the response is coming from) it will use ServerName and -# Port to form a "canonical" name. With this setting off, Apache will -# use the hostname:port that the client supplied, when possible. This -# also affects SERVER_NAME and SERVER_PORT in CGIs. -UseCanonicalName on - -# CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each -# document that was negotiated on the basis of content. This asks proxy -# servers not to cache the document. Uncommenting the following line disables -# this behavior, and proxies will be allowed to cache the documents. - -#CacheNegotiatedDocs - -# Timeout: The number of seconds before receives and sends time out - -Timeout 1200 - -# 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 reccomend you leave this number high, for maximum performance. - -MaxKeepAliveRequests 100 - -# KeepAliveTimeout: Number of seconds to wait for the next request - -KeepAliveTimeout 15 - -# Server-pool size regulation. Rather than making you guess how many -# server processes you need, Apache dynamically adapts to the load it -# sees --- that is, it tries to maintain enough server processes to -# handle the current load, plus a few spare servers to handle transient -# load spikes (e.g., multiple simultaneous requests from a single -# Netscape browser). - -# It does this by periodically checking how many servers are waiting -# for a request. If there are fewer than MinSpareServers, it creates -# a new spare. If there are more than MaxSpareServers, some of the -# spares die off. These values are probably OK for most sites --- - -MinSpareServers 5 -MaxSpareServers 10 - -# Number of servers to start --- should be a reasonable ballpark figure. - -StartServers 5 - -# Limit on total number of servers running, i.e., limit on the number -# of clients who can simultaneously connect --- if this limit is ever -# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. -# It is intended mainly as a brake to keep a runaway server from taking -# Unix with it as it spirals down... - -MaxClients 150 - -# MaxRequestsPerChild: the number of requests each child process is -# allowed to process before the child dies. -# The child will exit so as to avoid problems after prolonged use when -# Apache (and maybe the libraries it uses) leak. On most systems, this -# isn't really needed, but a few (such as Solaris) do have notable leaks -# in the libraries. - -MaxRequestsPerChild 500 - -# Proxy Server directives. Uncomment the following line to -# enable the proxy server: - -#ProxyRequests On - -# To enable the cache as well, edit and uncomment the following lines: - -#CacheRoot /usr/local/apache/proxy -#CacheSize 5 -#CacheGcInterval 4 -#CacheMaxExpire 24 -#CacheLastModifiedFactor 0.1 -#CacheDefaultExpire 1 -#NoCache a_domain.com another_domain.edu joes.garage_sale.com - -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, in addition to the default. See also the VirtualHost command - -#Listen 3000 -#Listen 12.34.56.78:80 - -# VirtualHost: Allows the daemon to respond to requests for more than one -# server address, if your server machine is configured to accept IP packets -# for multiple addresses. This can be accomplished with the ifconfig -# alias flag, or through kernel patches like VIF. - -# Any httpd.conf or srm.conf directive may go into a VirtualHost command. -# See also the BindAddress entry. - -#<VirtualHost host.some_domain.com> -#ServerAdmin webmaster@host.some_domain.com -#DocumentRoot /www/docs/host.some_domain.com -#ServerName host.some_domain.com -#ErrorLog logs/host.some_domain.com-error_log -#TransferLog logs/host.some_domain.com-access_log -#</VirtualHost> - -# We have all the configuration parameters in this single this (httpd.conf), -# so we'll define the others (normally srm.conf and access.conf) as /dev/null -AccessConfig /dev/null -ResourceConfig /dev/null - -# With this document, you define the name space that users see of your http -# server. This file also defines server settings which affect how requests are -# serviced, and how results should be formatted. - -# See the tutorials at http://www.apache.org/ for -# more information. - -# Originally by Rob McCool; Adapted for Apache - - -# 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 /usr/local/validator/htdocs - -# UserDir: The name of the directory which is appended onto a user's home -# directory if a ~user request is recieved. - -# UserDir public_html - -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. -DirectoryIndex index.html +# The values below assume that you have the validator files in +# /var/www/html/w3c-validator, and that /var/www/html is your DocumentRoot. +# If not, tune these accordingly. -# FancyIndexing is whether you want fancy directory indexing or standard +# This is the directory where you have validator's "check" and "checklink" +# scripts as well as its and *.html, *.css etc files. -FancyIndexing on - -# AddIcon tells the server which icon to show for different files or filename -# extensions - -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. -# Format: AddDescription "description" filename - -# ReadmeName is the name of the README file the server will look for by -# default. Format: ReadmeName name -# -# The server will first look for name.html, include it if found, and it will -# then look for name and include it as plaintext if found. -# -# HeaderName is the name of a file which should be prepended to -# directory indexes. - -ReadmeName README -HeaderName HEADER - -# IndexIgnore is a set of filenames which directory indexing should ignore -# Format: IndexIgnore name1 name2... - -IndexIgnore .??* *~ *# HEADER* README* RCS CVS - -# AccessFileName: The name of the file to look for in each directory -# for access control information. - -AccessFileName .htaccess - -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. - -TypesConfig conf/mime.types - -# DefaultType is the default MIME type for documents which the server -# cannot find the type of from filename extensions. - -DefaultType text/plain - -# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress -# information on the fly. Note: Not all browsers support this. - -AddEncoding x-compress Z -AddEncoding x-gzip gz - -# AddLanguage allows you to specify the language of a document. You can -# then use content negotiation to give a browser a file in a language -# it can understand. Note that the suffix does not have to be the same -# as the language keyword --- those with documents in Polish (whose -# net-standard language code is pl) may wish to use "AddLanguage pl .po" -# to avoid the ambiguity with the common suffix for perl scripts. - -AddLanguage en .en -AddLanguage fr .fr -AddLanguage de .de -AddLanguage da .da -AddLanguage el .el -AddLanguage it .it - -# LanguagePriority allows you to give precedence to some languages -# in case of a tie during content negotiation. -# Just list the languages in decreasing order of preference. - -LanguagePriority en fr de - -# 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. -# Format: Redirect fakename url - -Redirect /lib http://validator.w3.org/sgml-lib - -# 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. - -Alias /icons/ /usr/local/apache/icons/ - -# ScriptAlias: This controls which directories contain server scripts. -# Format: ScriptAlias fakename realname - -ScriptAlias /check /usr/local/validator/httpd/cgi-bin/check -ScriptAlias /tidy /usr/local/validator/httpd/cgi-bin/tidy -ScriptAlias /traceroute /usr/local/validator/httpd/cgi-bin/traceroute -ScriptAlias /stats/referers /usr/local/validator/httpd/cgi-bin/referers - -# If you want to use server side includes, or CGI outside -# ScriptAliased directories, uncomment the following lines. - -# AddType allows you to tweak mime.types without actually editing it, or to -# make certain files to be certain types. -# Format: AddType type/subtype ext1 - -# For example, the PHP3 module (not part of the Apache distribution) -# will typically use: -#AddType application/x-httpd-php3 .phtml -#AddType application/x-httpd-php3-source .phps - -# 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 command (see below) -# Format: AddHandler action-name ext1 - -# To use CGI scripts: -#AddHandler cgi-script .cgi - -# To use server-parsed HTML files -#AddType text/html .shtml -#AddHandler server-parsed .shtml - -# Uncomment the following line to enable Apache's send-asis HTTP file -# feature -#AddHandler send-as-is asis - -# If you wish to use server-parsed imagemap files, use -#AddHandler imap-file map - -# To enable type maps, you might want to use -#AddHandler type-map var - -# 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 - -# MetaDir: specifies the name of the directory in which Apache can find -# meta information files. These files contain additional HTTP headers -# to include when sending the document - -#MetaDir .web - -# MetaSuffix: specifies the file name suffix for the file containing the -# meta information. - -#MetaSuffix .meta - -# Customizable error response (Apache style) -# these come in three flavors -# -# 1) plain text -#ErrorDocument 500 "The server made a boo boo. -# n.b. the (") marks it as text, it does not get output -# -# 2) local redirects -#ErrorDocument 404 /missing.html -# to redirect to local url /missing.html -#ErrorDocument 404 /cgi-bin/missing_handler.pl -# n.b. can redirect to a script or a document using server-side-includes. -# -# 3) external redirects -#ErrorDocument 402 http://some.other_server.com/subscription_info.html -# - -# mod_mime_magic allows the server to use various hints from the file itself -# to determine its type. -#MimeMagicFile conf/magic - -# The following directives disable keepalives and HTTP header flushes. -# The first directive disables it for Netscape 2.x and browsers which -# spoof it. There are known problems with these. -# The second directive is for Microsoft Internet Explorer 4.0b2 -# which has a broken HTTP/1.1 implementation and does not properly -# support keepalive when it is used on 301 or 302 (redirect) responses. - -BrowserMatch "Mozilla/2" nokeepalive -BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 - -# The following directive disables HTTP/1.1 responses to browsers which -# are in violation of the HTTP/1.0 spec by not being able to grok a -# basic 1.1 response. - -BrowserMatch "RealPlayer 4\.0" force-response-1.0 -BrowserMatch "Java/1\.0" force-response-1.0 -BrowserMatch "JDK/1\.0" force-response-1.0 - -# access.conf: Global access configuration -# Online docs at http://www.apache.org/ - -# This file defines server settings which affect which types of services -# are allowed, and in what circumstances. - -# Each directory to which Apache has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). - -# Originally by Rob McCool - -# First, we configure the "default" to be a very restrictive set of -# permissions. - -<Directory /> -Options FollowSymLinks -AllowOverride None -</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. - -<Directory /usr/local/validator/htdocs> -Options Indexes FollowSymLinks +Includes -XBitHack Full -AllowOverride None -order allow,deny -allow from all +<Directory /var/www/html/w3c-validator> + Options ExecCGI IncludesNOEXEC Indexes MultiViews + AllowOverride None + AddHandler server-parsed .html + AddCharset utf-8 .html </Directory> -<Directory /usr/local/validator/httpd/cgi-bin> -AllowOverride None -Options ExecCGI -</Directory> - -<Location /server-status> -SetHandler server-status -order deny,allow -deny from all -allow from .w3.org -</Location> - -<Location /server-info> -SetHandler server-info -order deny,allow -deny from all -allow from .w3.org -</Location> - -# There have been reports of people trying to abuse an old bug from pre-1.1 -# days. This bug involved a CGI script distributed as a part of Apache. -# By uncommenting these lines you can redirect these attacks to a logging -# script on phf.apache.org. Or, you can record them yourself, using the script -# support/phf_abuse_log.cgi. - -#<Location /cgi-bin/phf*> -#deny from all -#ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi -#</Location> - -# You may place any other directories or locations you wish to have -# access information for after this one. - -RewriteEngine on -RewriteRule ^/$ /check [L,PT] -## Site tools ## -#Text version - using html2txt at w3c -RewriteRule ^(.+),text$ http://cgi.w3.org/cgi-bin/html2txt?url=http://%{HTTP_HOST}$1 [L] +# To use mod_perl (only 1.2x with Apache 1.3.x for now!), uncomment this +# and the other mod_perl block inside the LocationMatch below. -#validate the markup - using itself -RewriteRule ^(.+),validate$ http://validator.w3.org/check?uri=http://%{HTTP_HOST}$1 [L] +#<IfModule mod_perl.c> +# PerlModule Apache::Registry +# PerlTaintCheck On +# PerlWarn On +#</IfModule> -#check links - simple and recursive -RewriteRule ^(.+),checklinks?$ http://validator.w3.org/checklink?url=http://%{HTTP_HOST}$1 [L] -RewriteRule ^(.+),rchecklinks?$ http://validator.w3.org/checklink?url=http://%{HTTP_HOST}$1\&recursive=on [L] +# Tell httpd that check and checklink are CGI scripts. -#CSS validation - using W3C's CSS validator -RewriteRule ^(.+),cssvalidate$ http://jigsaw.w3.org/css-validator/validator?uri=http://%{HTTP_HOST}$1 [L] +<LocationMatch "/w3c-validator/check(link)?"> -#tablin and detab, WAI-friendly -RewriteRule ^(.+),tablin$ http://jiggles.w3.org/servlet/tablin?url=http://%{HTTP_HOST}$1\&tableno=\&cellSeparator=\&headerSeparator=\&valueSeparator=\&orient=row\&repeat=4\&interact=0\&embedded=yes\&submit=Submit [L] -RewriteRule ^(.+),detab$ http://cgi.w3.org/cgi-bin/tablin.pl?uri=http://%{HTTP_HOST}$1 [L] + SetHandler cgi-script -#HTTP headers -RewriteRule ^(.+),headers$ http://cgi.w3.org/cgi-bin/headers?auth=on\&url=http://%{HTTP_HOST}$1 [L] +#<IfModule mod_perl.c> +# PerlSendHeader On +# SetHandler perl-script +# PerlHandler Apache::Registry +#</IfModule> -#CVS log (adapted for validator) - # checklink -RewriteRule ^/checklink(.+),cvs(log)?$ http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/checklink.pl [L] - # Markup validator -RewriteRule ^/check(.+),cvs(log)?$ http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/ [L] - # various pages -RewriteRule ^(.+),cvs(log)?$ http://dev.w3.org/cvsweb/validator/htdocs$1 [L] +</LocationMatch> |