# 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 # 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) # You should probably turn this off unless you are going to actually # use the information in your logs, or with a CGI. Leaving this on # can slow down access to your site. HostnameLookups on # 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. User www Group webpages # The following directive disables keepalives and HTTP header flushes for # Netscape 2.x and browsers which spoof it. There are known problems with # these BrowserMatch Mozilla/2 nokeepalive # ServerAdmin: Your address, where problems with the server should be # e-mailed. ServerAdmin webguy@infinex.com # 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/etc/httpd # 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 /var/adm/httpd/error_log # TransferLog: The location of the transfer log file. If this does not # start with /, ServerRoot is prepended to it. TransferLog /var/adm/httpd/access_log # PidFile: The file the server should log its pid to PidFile /var/run/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_status # 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 host.domain.com # 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 300 # 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 30 # 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/etc/httpd/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 Listen 80 Listen 443 ################################################################# # # SSL Directives # ################################################################# # Note that all SSL options can apply to virtual hosts. ################################################################# # Disable SSL. Useful in combination with virtual hosts. Note that # SSLEnable is now also supported. SSL disabled by default. ################################################################# SSLDisable ################################################################# # Set the path for the global cache server executable. # If this facility gives you trouble, you can disable it by # setting CACHE_SESSIONS to FALSE in apache_ssl.c ################################################################# SSLCacheServerPath /usr/local/etc/httpd/src/gcache ################################################################# # Set the global cache server port number ################################################################# SSLCacheServerPort 1234 ################################################################# # Set the session cache timeout, in seconds (set to 15 for # testing, use a higher value in real life) ################################################################# SSLSessionCacheTimeout 15 ################################################################# #Path to where the CA certificate directory. #SSLCACertificatePath /usr/local/etc/httpsd/SSLconf/conf ################################################################# SSLCACertificatePath /usr/local/ssl/certs ################################################################# #Path to CA certificate verification file (must be PEM encoded). ################################################################# SSLCACertificateFile /usr/local/ssl/certs/virtual.infinex.com.cert ################################################################# #Path to SSLCertificateFile at a PEM encoded certificate. #SSLCertificateFile /usr/local/etc/httpsd/SSLconf/conf/httpsd.pem ################################################################# SSLCertificateFile /usr/local/ssl/certs/virtual.infinex.com.crt ################################################################# #Path to Certificate Key File #SSLCertificateKeyFile /usr/local/ssl/private/some.key ################################################################# SSLCertificateKeyFile /usr/local/ssl/private/virtual.infinex.com.key ################################################################# # Set SSLVerifyClient to: # 0 if no certicate is required # 1 if the client may present a valid certificate # 2 if the client must present a valid certificate # 3 if the client may present a valid certificate but it is not # required to have a valid CA ################################################################# SSLVerifyClient 0 ################################################################# # How deeply to verify before deciding they don't have a valid certificate ################################################################# SSLVerifyDepth 10 ################################################################# # Translate the client X509 into a Basic authorisation. This # means that the standard Auth/DBMAuth methods can be used for # access control. The user name is the "one line" version of the # client's X509 certificate. Note that no password is obtained # from the user. Every entry in the user file needs this # password: xxj31ZMTZzkVA. See the code for further explanation. ################################################################# SSLFakeBasicAuth ################################################################# # A home for miscellaneous rubbish generated by SSL. Much of it # is duplicated in the error log file. ################################################################# SSLLogFile /tmp/ssl.log ################################################################# # Custom logging ################################################################# CustomLog logs/ssl_log "%t %{version}c %{cipher}c %{clientcert}c" ################################################################# # # END of SSL # ################################################################# # 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. # #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 # ServerAdmin webmaster@host.some_domain.com DocumentRoot /www/docs/host.some_domain.com ServerName hostA.domain.com SSLEnable SSLCACertificateFile /usr/local/ssl/certs/localhost.cert SSLCertificateFile /usr/local/ssl/certs/localhost.crt SSLCertificateKeyFile /usr/local/ssl/private/localhost.key