## ## httpd.conf -- Apache HTTP server configuration file ## ### Section 1: Global Environment # ServerType standalone ServerRoot /etc/apache LockFile /var/lock/apache.lock PidFile /var/run/apache.pid ScoreBoardFile /var/run/apache.scoreboard #ResourceConfig /etc/apache/srm.conf #AccessConfig /etc/apache/access.conf Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10 StartServers 5 MaxClients 150 MaxRequestsPerChild 100 # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the # directive. # #Listen 3000 #Listen 12.34.56.78:80 ##### # SSL Support Listen 8088 Listen 443 # # BindAddress: You can support virtual hosts with this option. This directive # 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 and Listen directives. # #BindAddress * # # Dynamic Shared Object (DSO) Support Include /etc/apache/modules.conf ExtendedStatus On ### Section 2: 'Main' server configuration # Port 80 User www-data Group www-data ServerAdmin webmaster@tommeetippee.com ServerName www2.tommeetippee.co.uk DocumentRoot /var/www Options SymLinksIfOwnerMatch AllowOverride None Options Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all UserDir public_html AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all DirectoryIndex index.html index.htm index.shtml index.cgi index.php AccessFileName .htaccess Order allow,deny Deny from all # # 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 UseCanonicalName Off TypesConfig /etc/mime.types DefaultType text/plain MIMEMagicFile /usr/share/misc/file/magic.mime HostnameLookups Off ErrorLog /var/log/apache/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 "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %T %v" full LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %P %T" debug LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b \"%{forensic-id}n\"" forensic LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a # container, they will be logged here. Contrariwise, if you *do* # define per- access logfiles, transactions will be # logged therein and *not* in this file. # #CustomLog /var/log/apache/access.log common # # If you would like to have agent and referer logfiles, uncomment the # following directives. # #CustomLog /var/log/apache/referer.log referer #CustomLog /var/log/apache/agent.log agent # # If you prefer a single logfile with access, agent, referer and forensic # information (Combined Logfile Format) you can use the following directive. # CustomLog /var/log/apache/access.log combined ForensicLog /var/log/apache/forensic.log EnableExceptionHook On # BacktraceLog /var/log/apache/backtrace.log EnableExceptionHook On # WhatKilledUsLog /var/log/apache/whatkilledus.log ServerSignature On # # This directive controls whether Server response header field which is # sent back to clients includes a description of the generic OS-type of # the server as well as information about compiled-in modules. # Set to one of: Prod[uctOnly] | Min[imal] | OS | Full # If the directive is not specified the default is set to Full. # #ServerTokens Full # # Aliases: Add here as many aliases as you need (with no limit). The format is # Alias fakename realname # # Note that if you include a trailing / on fakename then the server will # require it to be present in the URL. So "/icons" isn't aliased in this # example, only "/icons/".. # Alias /icons/ /usr/share/apache/icons/ Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all Alias /images/ /usr/share/images/ Options MultiViews AllowOverride None Order allow,deny Allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all IndexOptions FancyIndexing NameWidth=* 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/deb.gif .deb AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # # DefaultIcon: which icon to show for files which do not have an icon # explicitly set. # DefaultIcon /icons/unknown.gif # # AddDescription: allows you to place a short description after a file in # server-generated indexes. These are only displayed for FancyIndexed # directories. # Format: AddDescription "description" filename # AddDescription "GZIP compressed document" .gz AddDescription "tar archive" .tar AddDescription "GZIP compressed tar archive" .tgz # # ReadmeName: the name of the README file the server will look for by # default, and append to directory listings. # # HeaderName: the name of a file which should be prepended to # directory indexes. # # The module recognize only 2 kind of mime-types, text/html and # text/*, but the only method it has to identify them is via # the filename extension. The default is to include and display # html files. # ReadmeName README.html HeaderName HEADER.html # Otherwise you can comment the 2 lines above and uncomment # the 2 below in order to display plain text files. # # ReadmeName README.txt # HeaderName HEADER.txt # # IndexIgnore: a set of filenames which directory indexing should ignore # and not include in the listing. Shell-style wildcarding is permitted. # IndexIgnore .??* *~ *# HEADER.html HEADER.txt RCS CVS *,v *,t # Uncomment the following IndexIgnore line to add README.* to the file # list that will not be displayed by mod_autoindex. # It is not enabled by default on Debian system to permit users to properly # browse Debian documentation (/doc/) # #IndexIgnore README.* AddEncoding x-compress Z AddEncoding x-gzip gz tgz AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .ee AddLanguage fr .fr AddLanguage de .de AddLanguage el .el AddLanguage it .it AddLanguage ja .ja AddCharset ISO-2022-JP .jis AddLanguage pl .po AddCharset ISO-8859-2 .iso-pl AddLanguage pt .pt AddLanguage pt-br .pt-br AddLanguage lb .lu AddLanguage ca .ca AddLanguage es .es AddLanguage sv .se AddLanguage cs .cz LanguagePriority en da nl et fr de el it ja pl pt pt-br lb ca es sv AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-tar .tgz AddType image/bmp .bmp # hdml AddType text/x-hdml .hdml # # 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). AddHandler cgi-script .cgi .sh .pl 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 # End of document types. # Default charset to iso-8859-1 (http://www.apache.org/info/css-security/). AddDefaultCharset on # # 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.: You 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 # N.B.: Many of the environment variables associated with the original # request will *not* be available to such a script. BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 # If the perl module is installed, this will be enabled. Alias /perl/ /var/www/perl/ SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI # # Allow http put (such as Netscape Gold's publish feature) # Use htpasswd to generate /etc/apache/passwd. # You must unremark these two lines at the top of this file as well: #LoadModule put_module modules/mod_put.so #AddModule mod_put.c # # # Alias /upload /tmp # # # EnablePut On # AuthType Basic # AuthName Temporary # AuthUserFile /etc/apache/passwd # EnableDelete Off # umask 007 # # require valid-user # # # # Allow server status reports, with the URL of http://servername/server-status # Change the ".your_domain.com" to match your domain to enable. # # # SetHandler server-status # Order deny,allow # Deny from all # Allow from .your_domain.com # # # Allow remote server configuration reports, with the URL of # http://servername/server-info (requires that mod_info.c be loaded). # Change the ".your_domain.com" to match your domain to enable. # # # SetHandler server-info # Order deny,allow # Deny from all # Allow from .your_domain.com # # Allow access to local system documentation from localhost. # (Debian Policy assumes /usr/share/doc is "/doc/", at least from the localhost.) Alias /doc/ /usr/share/doc/ order deny,allow deny from all allow from 127.0.0.0/255.0.0.0 Options Indexes FollowSymLinks MultiViews # # 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. # # # Deny from all # ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi # # # Proxy Server directives. Uncomment the following lines to # enable the proxy server: # #ProxyRequests On # # Order deny,allow # Deny from all # Allow from .your_domain.com # # # Enable/disable the handling of HTTP/1.1 "Via:" headers. # ("Full" adds the server version; "Block" removes all outgoing Via: headers) # Set to one of: Off | On | Full | Block # #ProxyVia On # # To enable the cache as well, edit and uncomment the following lines: # (no cacheing without CacheRoot) # #CacheRoot "/var/cache/apache" #CacheSize 5 #CacheGcInterval 4 #CacheMaxExpire 24 #CacheLastModifiedFactor 0.1 #CacheDefaultExpire 1 #NoCache a_domain.com another_domain.edu joes.garage_sale.com # End of proxy directives. ### Section 3: Virtual Hosts # #NameVirtualHost 12.34.56.78 # # 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 # CustomLog logs/host.some_domain.com-access.log common # # # AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin #SSLSessionCache none #SSLSessionCache shm:/apache/var/logs/ssl_scache(512000) SSLSessionCache dbm:/var/log/apache/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:/var/log/apache/ssl_mutex SSLRandomSeed startup builtin SSLRandomSeed connect builtin #SSLRandomSeed startup file:/dev/random 512 #SSLRandomSeed startup file:/dev/urandom 512 #SSLRandomSeed connect file:/dev/random 512 #SSLRandomSeed connect file:/dev/urandom 512 SSLLog /var/log/apache/ssl_engine_log SSLLogLevel info ## ## SSL Virtual Host Context ## DocumentRoot "/var/www" ServerName www2.tommeetippee.com ServerAdmin webmaster@tommeetippee.com ErrorLog /var/log/apache/error_log_secure TransferLog /var/log/apache/access_log_secure SSLEngine on SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /etc/apache/ssl.crt #SSLCertificateFile /apache/conf/ssl.crt/server-dsa.crt SSLCertificateKeyFile /apache/conf/server.key #SSLCertificateKeyFile /apache/conf/ssl.key/server-dsa.key #SSLCertificateChainFile /apache/conf/ssl.crt/ca.crt #SSLCACertificatePath /apache/conf/ssl.crt #SSLCACertificateFile /apache/conf/ssl.crt/ca-bundle.crt #SSLCARevocationPath /apache/conf/ssl.crl #SSLCARevocationFile /apache/conf/ssl.crl/ca-bundle.crl #SSLVerifyClient require #SSLVerifyDepth 10 # #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ # #SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire SSLOptions +StdEnvVars SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog /var/log/apache/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" # Automatically added by the post-installation script # as part of the transition to a config directory layout # similar to apache2, and that will help users to migrate # from apache to apache2 or revert back easily Include /etc/apache/conf.d