1# 2# This is the main Apache server configuration file. It contains the 3# configuration directives that give the server its instructions. 4# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. 5# In particular, see 6# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> 7# for a discussion of each configuration directive. 8# 9# 10# Do NOT simply read the instructions in here without understanding 11# what they do. They're here only as hints or reminders. If you are unsure 12# consult the online docs. You have been warned. 13# 14# The configuration directives are grouped into three basic sections: 15# 1. Directives that control the operation of the Apache server process as a 16# whole (the 'global environment'). 17# 2. Directives that define the parameters of the 'main' or 'default' server, 18# which responds to requests that aren't handled by a virtual host. 19# These directives also provide default values for the settings 20# of all virtual hosts. 21# 3. Settings for virtual hosts, which allow Web requests to be sent to 22# different IP addresses or hostnames and have them handled by the 23# same Apache server process. 24# 25# Configuration and logfile names: If the filenames you specify for many 26# of the server's control files begin with "/" (or "drive:/" for Win32), the 27# server will use that explicit path. If the filenames do *not* begin 28# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" 29# with ServerRoot set to "/etc/httpd" will be interpreted by the 30# server as "/etc/httpd/logs/foo.log". 31# 32 33### Section 1: Global Environment 34# 35# The directives in this section affect the overall operation of Apache, 36# such as the number of concurrent requests it can handle or where it 37# can find its configuration files. 38# 39 40# 41# Don't give away too much information about all the subcomponents 42# we are running. Comment out this line if you don't mind remote sites 43# finding out what major optional modules you are running 44ServerTokens OS 45 46# 47# ServerRoot: The top of the directory tree under which the server's 48# configuration, error, and log files are kept. 49# 50# NOTE! If you intend to place this on an NFS (or otherwise network) 51# mounted filesystem then please read the LockFile documentation 52# (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>); 53# you will save yourself a lot of trouble. 54# 55# Do NOT add a slash at the end of the directory path. 56# 57ServerRoot "/etc/httpd" 58 59# 60# PidFile: The file in which the server should record its process 61# identification number when it starts. Note the PIDFILE variable in 62# /etc/sysconfig/httpd must be set appropriately if this location is 63# changed. 64# 65PidFile run/httpd.pid 66 67# 68# Timeout: The number of seconds before receives and sends time out. 69# 70Timeout 60 71 72# 73# KeepAlive: Whether or not to allow persistent connections (more than 74# one request per connection). Set to "Off" to deactivate. 75# 76KeepAlive Off 77 78# 79# MaxKeepAliveRequests: The maximum number of requests to allow 80# during a persistent connection. Set to 0 to allow an unlimited amount. 81# We recommend you leave this number high, for maximum performance. 82# 83MaxKeepAliveRequests 100 84 85# 86# KeepAliveTimeout: Number of seconds to wait for the next request from the 87# same client on the same connection. 88# 89KeepAliveTimeout 15 90 91## 92## Server-Pool Size Regulation (MPM specific) 93## 94 95# prefork MPM 96# StartServers: number of server processes to start 97# MinSpareServers: minimum number of server processes which are kept spare 98# MaxSpareServers: maximum number of server processes which are kept spare 99# ServerLimit: maximum value for MaxClients for the lifetime of the server 100# MaxClients: maximum number of server processes allowed to start 101# MaxRequestsPerChild: maximum number of requests a server process serves 102<IfModule prefork.c> 103StartServers 8 104MinSpareServers 5 105MaxSpareServers 20 106ServerLimit 256 107MaxClients 256 108MaxRequestsPerChild 4000 109</IfModule> 110 111# worker MPM 112# StartServers: initial number of server processes to start 113# MaxClients: maximum number of simultaneous client connections 114# MinSpareThreads: minimum number of worker threads which are kept spare 115# MaxSpareThreads: maximum number of worker threads which are kept spare 116# ThreadsPerChild: constant number of worker threads in each server process 117# MaxRequestsPerChild: maximum number of requests a server process serves 118<IfModule worker.c> 119StartServers 4 120MaxClients 300 121MinSpareThreads 25 122MaxSpareThreads 75 123ThreadsPerChild 25 124MaxRequestsPerChild 0 125</IfModule> 126 127# 128# Listen: Allows you to bind Apache to specific IP addresses and/or 129# ports, in addition to the default. See also the <VirtualHost> 130# directive. 131# 132# Change this to Listen on specific IP addresses as shown below to 133# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) 134# 135#Listen 12.34.56.78:80 136Listen 80 137 138# 139# Dynamic Shared Object (DSO) Support 140# 141# To be able to use the functionality of a module which was built as a DSO you 142# have to place corresponding `LoadModule' lines at this location so the 143# directives contained in it are actually available _before_ they are used. 144# Statically compiled modules (those listed by `httpd -l') do not need 145# to be loaded here. 146# 147# Example: 148# LoadModule foo_module modules/mod_foo.so 149# 150LoadModule auth_basic_module modules/mod_auth_basic.so 151LoadModule auth_digest_module modules/mod_auth_digest.so 152LoadModule authn_file_module modules/mod_authn_file.so 153LoadModule authn_alias_module modules/mod_authn_alias.so 154LoadModule authn_anon_module modules/mod_authn_anon.so 155LoadModule authn_dbm_module modules/mod_authn_dbm.so 156LoadModule authn_default_module modules/mod_authn_default.so 157LoadModule authz_host_module modules/mod_authz_host.so 158LoadModule authz_user_module modules/mod_authz_user.so 159LoadModule authz_owner_module modules/mod_authz_owner.so 160LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 161LoadModule authz_dbm_module modules/mod_authz_dbm.so 162LoadModule authz_default_module modules/mod_authz_default.so 163LoadModule ldap_module modules/mod_ldap.so 164LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 165LoadModule include_module modules/mod_include.so 166LoadModule log_config_module modules/mod_log_config.so 167LoadModule logio_module modules/mod_logio.so 168LoadModule env_module modules/mod_env.so 169LoadModule ext_filter_module modules/mod_ext_filter.so 170LoadModule mime_magic_module modules/mod_mime_magic.so 171LoadModule expires_module modules/mod_expires.so 172LoadModule deflate_module modules/mod_deflate.so 173LoadModule headers_module modules/mod_headers.so 174LoadModule usertrack_module modules/mod_usertrack.so 175LoadModule setenvif_module modules/mod_setenvif.so 176LoadModule mime_module modules/mod_mime.so 177LoadModule dav_module modules/mod_dav.so 178LoadModule status_module modules/mod_status.so 179LoadModule autoindex_module modules/mod_autoindex.so 180LoadModule info_module modules/mod_info.so 181LoadModule dav_fs_module modules/mod_dav_fs.so 182LoadModule vhost_alias_module modules/mod_vhost_alias.so 183LoadModule negotiation_module modules/mod_negotiation.so 184LoadModule dir_module modules/mod_dir.so 185LoadModule actions_module modules/mod_actions.so 186LoadModule speling_module modules/mod_speling.so 187LoadModule userdir_module modules/mod_userdir.so 188LoadModule alias_module modules/mod_alias.so 189LoadModule substitute_module modules/mod_substitute.so 190LoadModule rewrite_module modules/mod_rewrite.so 191LoadModule proxy_module modules/mod_proxy.so 192LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 193LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 194LoadModule proxy_http_module modules/mod_proxy_http.so 195LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 196LoadModule proxy_connect_module modules/mod_proxy_connect.so 197LoadModule cache_module modules/mod_cache.so 198LoadModule suexec_module modules/mod_suexec.so 199LoadModule disk_cache_module modules/mod_disk_cache.so 200LoadModule cgi_module modules/mod_cgi.so 201LoadModule version_module modules/mod_version.so 202 203# 204# The following modules are not loaded by default: 205# 206#LoadModule asis_module modules/mod_asis.so 207#LoadModule authn_dbd_module modules/mod_authn_dbd.so 208#LoadModule cern_meta_module modules/mod_cern_meta.so 209#LoadModule cgid_module modules/mod_cgid.so 210#LoadModule dbd_module modules/mod_dbd.so 211#LoadModule dumpio_module modules/mod_dumpio.so 212#LoadModule filter_module modules/mod_filter.so 213#LoadModule ident_module modules/mod_ident.so 214#LoadModule log_forensic_module modules/mod_log_forensic.so 215#LoadModule unique_id_module modules/mod_unique_id.so 216# 217 218# 219# Load config files from the config directory "/etc/httpd/conf.d". 220# 221Include conf.d/*.conf 222 223# 224# ExtendedStatus controls whether Apache will generate "full" status 225# information (ExtendedStatus On) or just basic information (ExtendedStatus 226# Off) when the "server-status" handler is called. The default is Off. 227# 228#ExtendedStatus On 229 230# 231# If you wish httpd to run as a different user or group, you must run 232# httpd as root initially and it will switch. 233# 234# User/Group: The name (or #number) of the user/group to run httpd as. 235# . On SCO (ODT 3) use "User nouser" and "Group nogroup". 236# . On HPUX you may not be able to use shared memory as nobody, and the 237# suggested workaround is to create a user www and use that user. 238# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) 239# when the value of (unsigned)Group is above 60000; 240# don't use Group #-1 on these systems! 241# 242User apache 243Group apache 244 245### Section 2: 'Main' server configuration 246# 247# The directives in this section set up the values used by the 'main' 248# server, which responds to any requests that aren't handled by a 249# <VirtualHost> definition. These values also provide defaults for 250# any <VirtualHost> containers you may define later in the file. 251# 252# All of these directives may appear inside <VirtualHost> containers, 253# in which case these default settings will be overridden for the 254# virtual host being defined. 255# 256 257# 258# ServerAdmin: Your address, where problems with the server should be 259# e-mailed. This address appears on some server-generated pages, such 260# as error documents. e.g. admin@your-domain.com 261# 262ServerAdmin root@localhost 263 264# 265# ServerName gives the name and port that the server uses to identify itself. 266# This can often be determined automatically, but we recommend you specify 267# it explicitly to prevent problems during startup. 268# 269# If this is not set to valid DNS name for your host, server-generated 270# redirections will not work. See also the UseCanonicalName directive. 271# 272# If your host doesn't have a registered DNS name, enter its IP address here. 273# You will have to access it by its address anyway, and this will make 274# redirections work in a sensible way. 275# 276#ServerName www.example.com:80 277 278# 279# UseCanonicalName: Determines how Apache constructs self-referencing 280# URLs and the SERVER_NAME and SERVER_PORT variables. 281# When set "Off", Apache will use the Hostname and Port supplied 282# by the client. When set "On", Apache will use the value of the 283# ServerName directive. 284# 285UseCanonicalName Off 286 287# 288# DocumentRoot: The directory out of which you will serve your 289# documents. By default, all requests are taken from this directory, but 290# symbolic links and aliases may be used to point to other locations. 291# 292DocumentRoot "/var/www/html" 293 294# 295# Each directory to which Apache has access can be configured with respect 296# to which services and features are allowed and/or disabled in that 297# directory (and its subdirectories). 298# 299# First, we configure the "default" to be a very restrictive set of 300# features. 301# 302<Directory /> 303 Options FollowSymLinks 304 AllowOverride None 305</Directory> 306 307# 308# Note that from this point forward you must specifically allow 309# particular features to be enabled - so if something's not working as 310# you might expect, make sure that you have specifically enabled it 311# below. 312# 313 314# 315# This should be changed to whatever you set DocumentRoot to. 316# 317<Directory "/var/www/html"> 318 319# 320# Possible values for the Options directive are "None", "All", 321# or any combination of: 322# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 323# 324# Note that "MultiViews" must be named *explicitly* --- "Options All" 325# doesn't give it to you. 326# 327# The Options directive is both complicated and important. Please see 328# http://httpd.apache.org/docs/2.2/mod/core.html#options 329# for more information. 330# 331 Options Indexes FollowSymLinks 332 333# 334# AllowOverride controls what directives may be placed in .htaccess files. 335# It can be "All", "None", or any combination of the keywords: 336# Options FileInfo AuthConfig Limit 337# 338 AllowOverride None 339 340# 341# Controls who can get stuff from this server. 342# 343 Order allow,deny 344 Allow from all 345 346</Directory> 347 348# 349# UserDir: The name of the directory that is appended onto a user's home 350# directory if a ~user request is received. 351# 352# The path to the end user account 'public_html' directory must be 353# accessible to the webserver userid. This usually means that ~userid 354# must have permissions of 711, ~userid/public_html must have permissions 355# of 755, and documents contained therein must be world-readable. 356# Otherwise, the client will only receive a "403 Forbidden" message. 357# 358# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden 359# 360<IfModule mod_userdir.c> 361 # 362 # UserDir is disabled by default since it can confirm the presence 363 # of a username on the system (depending on home directory 364 # permissions). 365 # 366 UserDir disabled 367 368 # 369 # To enable requests to /~user/ to serve the user's public_html 370 # directory, remove the "UserDir disabled" line above, and uncomment 371 # the following line instead: 372 # 373 #UserDir public_html 374 375</IfModule> 376 377# 378# Control access to UserDir directories. The following is an example 379# for a site where these directories are restricted to read-only. 380# 381#<Directory /home/*/public_html> 382# AllowOverride FileInfo AuthConfig Limit 383# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 384# <Limit GET POST OPTIONS> 385# Order allow,deny 386# Allow from all 387# </Limit> 388# <LimitExcept GET POST OPTIONS> 389# Order deny,allow 390# Deny from all 391# </LimitExcept> 392#</Directory> 393 394# 395# DirectoryIndex: sets the file that Apache will serve if a directory 396# is requested. 397# 398# The index.html.var file (a type-map) is used to deliver content- 399# negotiated documents. The MultiViews Option can be used for the 400# same purpose, but it is much slower. 401# 402DirectoryIndex index.html index.html.var 403 404# 405# AccessFileName: The name of the file to look for in each directory 406# for additional configuration directives. See also the AllowOverride 407# directive. 408# 409AccessFileName .htaccess 410 411# 412# The following lines prevent .htaccess and .htpasswd files from being 413# viewed by Web clients. 414# 415<Files ~ "^\.ht"> 416 Order allow,deny 417 Deny from all 418 Satisfy All 419</Files> 420 421# 422# TypesConfig describes where the mime.types file (or equivalent) is 423# to be found. 424# 425TypesConfig /etc/mime.types 426 427# 428# DefaultType is the default MIME type the server will use for a document 429# if it cannot otherwise determine one, such as from filename extensions. 430# If your server contains mostly text or HTML documents, "text/plain" is 431# a good value. If most of your content is binary, such as applications 432# or images, you may want to use "application/octet-stream" instead to 433# keep browsers from trying to display binary files as though they are 434# text. 435# 436DefaultType text/plain 437 438# 439# The mod_mime_magic module allows the server to use various hints from the 440# contents of the file itself to determine its type. The MIMEMagicFile 441# directive tells the module where the hint definitions are located. 442# 443<IfModule mod_mime_magic.c> 444# MIMEMagicFile /usr/share/magic.mime 445 MIMEMagicFile conf/magic 446</IfModule> 447 448# 449# HostnameLookups: Log the names of clients or just their IP addresses 450# e.g., www.apache.org (on) or 204.62.129.132 (off). 451# The default is off because it'd be overall better for the net if people 452# had to knowingly turn this feature on, since enabling it means that 453# each client request will result in AT LEAST one lookup request to the 454# nameserver. 455# 456HostnameLookups Off 457 458# 459# EnableMMAP: Control whether memory-mapping is used to deliver 460# files (assuming that the underlying OS supports it). 461# The default is on; turn this off if you serve from NFS-mounted 462# filesystems. On some systems, turning it off (regardless of 463# filesystem) can improve performance; for details, please see 464# http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap 465# 466#EnableMMAP off 467 468# 469# EnableSendfile: Control whether the sendfile kernel support is 470# used to deliver files (assuming that the OS supports it). 471# The default is on; turn this off if you serve from NFS-mounted 472# filesystems. Please see 473# http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile 474# 475#EnableSendfile off 476 477# 478# ErrorLog: The location of the error log file. 479# If you do not specify an ErrorLog directive within a <VirtualHost> 480# container, error messages relating to that virtual host will be 481# logged here. If you *do* define an error logfile for a <VirtualHost> 482# container, that host's errors will be logged there and not here. 483# 484ErrorLog logs/error_log 485 486# 487# LogLevel: Control the number of messages logged to the error_log. 488# Possible values include: debug, info, notice, warn, error, crit, 489# alert, emerg. 490# 491LogLevel warn 492 493# 494# The following directives define some format nicknames for use with 495# a CustomLog directive (see below). 496# 497LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 498LogFormat "%h %l %u %t \"%r\" %>s %b" common 499LogFormat "%{Referer}i -> %U" referer 500LogFormat "%{User-agent}i" agent 501 502# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this 503# requires the mod_logio module to be loaded. 504#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 505 506# 507# The location and format of the access logfile (Common Logfile Format). 508# If you do not define any access logfiles within a <VirtualHost> 509# container, they will be logged here. Contrariwise, if you *do* 510# define per-<VirtualHost> access logfiles, transactions will be 511# logged therein and *not* in this file. 512# 513#CustomLog logs/access_log common 514 515# 516# If you would like to have separate agent and referer logfiles, uncomment 517# the following directives. 518# 519#CustomLog logs/referer_log referer 520#CustomLog logs/agent_log agent 521 522# 523# For a single logfile with access, agent, and referer information 524# (Combined Logfile Format), use the following directive: 525# 526CustomLog logs/access_log combined 527 528# 529# Optionally add a line containing the server version and virtual host 530# name to server-generated pages (internal error documents, FTP directory 531# listings, mod_status and mod_info output etc., but not CGI generated 532# documents or custom error documents). 533# Set to "EMail" to also include a mailto: link to the ServerAdmin. 534# Set to one of: On | Off | EMail 535# 536ServerSignature On 537 538# 539# Aliases: Add here as many aliases as you need (with no limit). The format is 540# Alias fakename realname 541# 542# Note that if you include a trailing / on fakename then the server will 543# require it to be present in the URL. So "/icons" isn't aliased in this 544# example, only "/icons/". If the fakename is slash-terminated, then the 545# realname must also be slash terminated, and if the fakename omits the 546# trailing slash, the realname must also omit it. 547# 548# We include the /icons/ alias for FancyIndexed directory listings. If you 549# do not use FancyIndexing, you may comment this out. 550# 551Alias /icons/ "/var/www/icons/" 552 553<Directory "/var/www/icons"> 554 Options Indexes MultiViews FollowSymLinks 555 AllowOverride None 556 Order allow,deny 557 Allow from all 558</Directory> 559 560# 561# WebDAV module configuration section. 562# 563<IfModule mod_dav_fs.c> 564 # Location of the WebDAV lock database. 565 DAVLockDB /var/lib/dav/lockdb 566</IfModule> 567 568# 569# ScriptAlias: This controls which directories contain server scripts. 570# ScriptAliases are essentially the same as Aliases, except that 571# documents in the realname directory are treated as applications and 572# run by the server when requested rather than as documents sent to the client. 573# The same rules about trailing "/" apply to ScriptAlias directives as to 574# Alias. 575# 576ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 577 578# 579# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased 580# CGI directory exists, if you have that configured. 581# 582<Directory "/var/www/cgi-bin"> 583 AllowOverride None 584 Options None 585 Order allow,deny 586 Allow from all 587</Directory> 588 589# 590# Redirect allows you to tell clients about documents which used to exist in 591# your server's namespace, but do not anymore. This allows you to tell the 592# clients where to look for the relocated document. 593# Example: 594# Redirect permanent /foo http://www.example.com/bar 595 596# 597# Directives controlling the display of server-generated directory listings. 598# 599 600# 601# IndexOptions: Controls the appearance of server-generated directory 602# listings. 603# 604IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 605 606# 607# AddIcon* directives tell the server which icon to show for different 608# files or filename extensions. These are only displayed for 609# FancyIndexed directories. 610# 611AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip 612 613AddIconByType (TXT,/icons/text.gif) text/* 614AddIconByType (IMG,/icons/image2.gif) image/* 615AddIconByType (SND,/icons/sound2.gif) audio/* 616AddIconByType (VID,/icons/movie.gif) video/* 617 618AddIcon /icons/binary.gif .bin .exe 619AddIcon /icons/binhex.gif .hqx 620AddIcon /icons/tar.gif .tar 621AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv 622AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip 623AddIcon /icons/a.gif .ps .ai .eps 624AddIcon /icons/layout.gif .html .shtml .htm .pdf 625AddIcon /icons/text.gif .txt 626AddIcon /icons/c.gif .c 627AddIcon /icons/p.gif .pl .py 628AddIcon /icons/f.gif .for 629AddIcon /icons/dvi.gif .dvi 630AddIcon /icons/uuencoded.gif .uu 631AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl 632AddIcon /icons/tex.gif .tex 633AddIcon /icons/bomb.gif /core 634 635AddIcon /icons/back.gif .. 636AddIcon /icons/hand.right.gif README 637AddIcon /icons/folder.gif ^^DIRECTORY^^ 638AddIcon /icons/blank.gif ^^BLANKICON^^ 639 640# 641# DefaultIcon is which icon to show for files which do not have an icon 642# explicitly set. 643# 644DefaultIcon /icons/unknown.gif 645 646# 647# AddDescription allows you to place a short description after a file in 648# server-generated indexes. These are only displayed for FancyIndexed 649# directories. 650# Format: AddDescription "description" filename 651# 652#AddDescription "GZIP compressed document" .gz 653#AddDescription "tar archive" .tar 654#AddDescription "GZIP compressed tar archive" .tgz 655 656# 657# ReadmeName is the name of the README file the server will look for by 658# default, and append to directory listings. 659# 660# HeaderName is the name of a file which should be prepended to 661# directory indexes. 662ReadmeName README.html 663HeaderName HEADER.html 664 665# 666# IndexIgnore is a set of filenames which directory indexing should ignore 667# and not include in the listing. Shell-style wildcarding is permitted. 668# 669IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 670 671# 672# DefaultLanguage and AddLanguage allows you to specify the language of 673# a document. You can then use content negotiation to give a browser a 674# file in a language the user can understand. 675# 676# Specify a default language. This means that all data 677# going out without a specific language tag (see below) will 678# be marked with this one. You probably do NOT want to set 679# this unless you are sure it is correct for all cases. 680# 681# * It is generally better to not mark a page as 682# * being a certain language than marking it with the wrong 683# * language! 684# 685# DefaultLanguage nl 686# 687# Note 1: The suffix does not have to be the same as the language 688# keyword --- those with documents in Polish (whose net-standard 689# language code is pl) may wish to use "AddLanguage pl .po" to 690# avoid the ambiguity with the common suffix for perl scripts. 691# 692# Note 2: The example entries below illustrate that in some cases 693# the two character 'Language' abbreviation is not identical to 694# the two character 'Country' code for its country, 695# E.g. 'Danmark/dk' versus 'Danish/da'. 696# 697# Note 3: In the case of 'ltz' we violate the RFC by using a three char 698# specifier. There is 'work in progress' to fix this and get 699# the reference data for rfc1766 cleaned up. 700# 701# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) 702# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) 703# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) 704# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) 705# Norwegian (no) - Polish (pl) - Portuguese (pt) 706# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) 707# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) 708# 709AddLanguage ca .ca 710AddLanguage cs .cz .cs 711AddLanguage da .dk 712AddLanguage de .de 713AddLanguage el .el 714AddLanguage en .en 715AddLanguage eo .eo 716AddLanguage es .es 717AddLanguage et .et 718AddLanguage fr .fr 719AddLanguage he .he 720AddLanguage hr .hr 721AddLanguage it .it 722AddLanguage ja .ja 723AddLanguage ko .ko 724AddLanguage ltz .ltz 725AddLanguage nl .nl 726AddLanguage nn .nn 727AddLanguage no .no 728AddLanguage pl .po 729AddLanguage pt .pt 730AddLanguage pt-BR .pt-br 731AddLanguage ru .ru 732AddLanguage sv .sv 733AddLanguage zh-CN .zh-cn 734AddLanguage zh-TW .zh-tw 735 736# 737# LanguagePriority allows you to give precedence to some languages 738# in case of a tie during content negotiation. 739# 740# Just list the languages in decreasing order of preference. We have 741# more or less alphabetized them here. You probably want to change this. 742# 743LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW 744 745# 746# ForceLanguagePriority allows you to serve a result page rather than 747# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) 748# [in case no accepted languages matched the available variants] 749# 750ForceLanguagePriority Prefer Fallback 751 752# 753# Specify a default charset for all content served; this enables 754# interpretation of all content as UTF-8 by default. To use the 755# default browser choice (ISO-8859-1), or to allow the META tags 756# in HTML content to override this choice, comment out this 757# directive: 758# 759AddDefaultCharset UTF-8 760 761# 762# AddType allows you to add to or override the MIME configuration 763# file mime.types for specific file types. 764# 765#AddType application/x-tar .tgz 766 767# 768# AddEncoding allows you to have certain browsers uncompress 769# information on the fly. Note: Not all browsers support this. 770# Despite the name similarity, the following Add* directives have nothing 771# to do with the FancyIndexing customization directives above. 772# 773#AddEncoding x-compress .Z 774#AddEncoding x-gzip .gz .tgz 775 776# If the AddEncoding directives above are commented-out, then you 777# probably should define those extensions to indicate media types: 778# 779AddType application/x-compress .Z 780AddType application/x-gzip .gz .tgz 781 782# 783# MIME-types for downloading Certificates and CRLs 784# 785AddType application/x-x509-ca-cert .crt 786AddType application/x-pkcs7-crl .crl 787 788# 789# AddHandler allows you to map certain file extensions to "handlers": 790# actions unrelated to filetype. These can be either built into the server 791# or added with the Action directive (see below) 792# 793# To use CGI scripts outside of ScriptAliased directories: 794# (You will also need to add "ExecCGI" to the "Options" directive.) 795# 796#AddHandler cgi-script .cgi 797 798# 799# For files that include their own HTTP headers: 800# 801#AddHandler send-as-is asis 802 803# 804# For type maps (negotiated resources): 805# (This is enabled by default to allow the Apache "It Worked" page 806# to be distributed in multiple languages.) 807# 808AddHandler type-map var 809 810# 811# Filters allow you to process content before it is sent to the client. 812# 813# To parse .shtml files for server-side includes (SSI): 814# (You will also need to add "Includes" to the "Options" directive.) 815# 816AddType text/html .shtml 817AddOutputFilter INCLUDES .shtml 818 819# 820# Action lets you define media types that will execute a script whenever 821# a matching file is called. This eliminates the need for repeated URL 822# pathnames for oft-used CGI file processors. 823# Format: Action media/type /cgi-script/location 824# Format: Action handler-name /cgi-script/location 825# 826 827# 828# Customizable error responses come in three flavors: 829# 1) plain text 2) local redirects 3) external redirects 830# 831# Some examples: 832#ErrorDocument 500 "The server made a boo boo." 833#ErrorDocument 404 /missing.html 834#ErrorDocument 404 "/cgi-bin/missing_handler.pl" 835#ErrorDocument 402 http://www.example.com/subscription_info.html 836# 837 838# 839# Putting this all together, we can internationalize error responses. 840# 841# We use Alias to redirect any /error/HTTP_<error>.html.var response to 842# our collection of by-error message multi-language collections. We use 843# includes to substitute the appropriate text. 844# 845# You can modify the messages' appearance without changing any of the 846# default HTTP_<error>.html.var files by adding the line: 847# 848# Alias /error/include/ "/your/include/path/" 849# 850# which allows you to create your own set of files by starting with the 851# /var/www/error/include/ files and 852# copying them to /your/include/path/, even on a per-VirtualHost basis. 853# 854 855Alias /error/ "/var/www/error/" 856 857<IfModule mod_negotiation.c> 858<IfModule mod_include.c> 859 <Directory "/var/www/error"> 860 AllowOverride None 861 Options IncludesNoExec 862 AddOutputFilter Includes html 863 AddHandler type-map var 864 Order allow,deny 865 Allow from all 866 LanguagePriority en es de fr 867 ForceLanguagePriority Prefer Fallback 868 </Directory> 869 870# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var 871# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var 872# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var 873# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var 874# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var 875# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var 876# ErrorDocument 410 /error/HTTP_GONE.html.var 877# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var 878# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var 879# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var 880# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var 881# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var 882# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var 883# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var 884# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var 885# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var 886# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var 887 888</IfModule> 889</IfModule> 890 891# 892# The following directives modify normal HTTP response behavior to 893# handle known problems with browser implementations. 894# 895BrowserMatch "Mozilla/2" nokeepalive 896BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 897BrowserMatch "RealPlayer 4\.0" force-response-1.0 898BrowserMatch "Java/1\.0" force-response-1.0 899BrowserMatch "JDK/1\.0" force-response-1.0 900 901# 902# The following directive disables redirects on non-GET requests for 903# a directory that does not include the trailing slash. This fixes a 904# problem with Microsoft WebFolders which does not appropriately handle 905# redirects for folders with DAV methods. 906# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. 907# 908BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully 909BrowserMatch "MS FrontPage" redirect-carefully 910BrowserMatch "^WebDrive" redirect-carefully 911BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully 912BrowserMatch "^gnome-vfs/1.0" redirect-carefully 913BrowserMatch "^XML Spy" redirect-carefully 914BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully 915 916# 917# Allow server status reports generated by mod_status, 918# with the URL of http://servername/server-status 919# Change the ".example.com" to match your domain to enable. 920# 921#<Location /server-status> 922# SetHandler server-status 923# Order deny,allow 924# Deny from all 925# Allow from .example.com 926#</Location> 927 928# 929# Allow remote server configuration reports, with the URL of 930# http://servername/server-info (requires that mod_info.c be loaded). 931# Change the ".example.com" to match your domain to enable. 932# 933#<Location /server-info> 934# SetHandler server-info 935# Order deny,allow 936# Deny from all 937# Allow from .example.com 938#</Location> 939 940# 941# Proxy Server directives. Uncomment the following lines to 942# enable the proxy server: 943# 944#<IfModule mod_proxy.c> 945#ProxyRequests On 946# 947#<Proxy *> 948# Order deny,allow 949# Deny from all 950# Allow from .example.com 951#</Proxy> 952 953# 954# Enable/disable the handling of HTTP/1.1 "Via:" headers. 955# ("Full" adds the server version; "Block" removes all outgoing Via: headers) 956# Set to one of: Off | On | Full | Block 957# 958#ProxyVia On 959 960# 961# To enable a cache of proxied content, uncomment the following lines. 962# See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details. 963# 964#<IfModule mod_disk_cache.c> 965# CacheEnable disk / 966# CacheRoot "/var/cache/mod_proxy" 967#</IfModule> 968# 969 970#</IfModule> 971# End of proxy directives. 972 973### Section 3: Virtual Hosts 974# 975# VirtualHost: If you want to maintain multiple domains/hostnames on your 976# machine you can setup VirtualHost containers for them. Most configurations 977# use only name-based virtual hosts so the server doesn't need to worry about 978# IP addresses. This is indicated by the asterisks in the directives below. 979# 980# Please see the documentation at 981# <URL:http://httpd.apache.org/docs/2.2/vhosts/> 982# for further details before you try to setup virtual hosts. 983# 984# You may use the command line option '-S' to verify your virtual host 985# configuration. 986 987# 988# Use name-based virtual hosting. 989# 990#NameVirtualHost *:80 991# 992# NOTE: NameVirtualHost cannot be used without a port specifier 993# (e.g. :80) if mod_ssl is being used, due to the nature of the 994# SSL protocol. 995# 996 997# 998# VirtualHost example: 999# Almost any Apache directive may go into a VirtualHost container. 1000# The first VirtualHost section is used for requests without a known 1001# server name. 1002# 1003#<VirtualHost *:80> 1004# ServerAdmin webmaster@dummy-host.example.com 1005# DocumentRoot /www/docs/dummy-host.example.com 1006# ServerName dummy-host.example.com 1007# ErrorLog logs/dummy-host.example.com-error_log 1008# CustomLog logs/dummy-host.example.com-access_log common 1009#</VirtualHost> 1010