# 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

# Note: Where filenames are specified, you must use forward slashes
# instead of backslashes. e.g. "c:/apache" instead of "c:\apache". If
# the drive letter is ommited, the drive where Apache.exe is located
# will be assumed

# ServerType must be standalone.

ServerType standalone

#
# The following lists extra modules that can be uncommented to be loaded 
# to enable extra functionality.  See the manual 
# (http://www.apache.org/docs/mod/) for details on the functionality 
# of each module.
#
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll
#LoadModule cern_meta_module modules/ApacheModuleCERNMeta.dll
#LoadModule digest_module modules/ApacheModuleDigest.dll
#LoadModule expires_module modules/ApacheModuleExpires.dll
#LoadModule headers_module modules/ApacheModuleHeaders.dll
#LoadModule proxy_module modules/ApacheModuleProxy.dll
LoadModule rewrite_module modules/ApacheModuleRewrite.dll
#LoadModule speling_module modules/ApacheModuleSpeling.dll
#LoadModule status_module modules/ApacheModuleStatus.dll
#LoadModule usertrack_module modules/ApacheModuleUserTrack.dll
LoadModule ssl_module modules/ApacheModuleSSL.dll
#LoadModule coldfusion_module modules/ApacheModuleColdFusion.dll

# Port: The port the standalone listens to.

Port 80

##
##  SSL Support
##
##  When we also provide SSL we have to listen to the 
##  standard HTTP port (see above) and to the HTTPS port
##
Listen 80
Listen 443

# 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.  
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.

ServerAdmin you@your.address

# ServerRoot: The directory the server's config, error, and log files
# are kept in

ServerRoot "D:\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 "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# The location of the access logfile (Common Logfile Format).
# If this does not start with /, ServerRoot is prepended to it.

CustomLog logs/access.log common

# If you would like to have an agent and referer logfile uncomment the
# following directives.

#CustomLog logs/referer.log referer
#CustomLog logs/agent.log agent

# If you prefer a single logfile with access, agent and referer information
# (Combined Logfile Format) you can use the following directive.

#CustomLog logs/access.log combined

# 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_status

# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the server-status Handler is called. The default is Off.
#
#ExtendedStatus On

# 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.
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address (e.g., http://123.45.67.89)
# anyway, and this will make redirections work in a sensible way.

#ServerName new.host.name

# Optionally add a line containing the server version and virtual host
# name to server-generated pages (error documents, ftp directory listings,
# mod_status and mod_info output etc., but not SSI generated documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of:  On | Off | EMail
ServerSignature on

# 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 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

# Apache always creates one child process to handle requests. If it
# dies another child process is created automatically. Within the
# child process multiple threads handle incoming requests. The next two
# directives determine the behaviour of the threads and processes.

# Don't force a server to exit after it has served some number of requests.
# If you do want server's to exit after they have run for a long time (to
# help the system clean up after the process), please set this to a pretty
# large number - like 10,000. What this will do, is, each child server will
# exit after serving 10,000 requests, and another server will take its place.

MaxRequestsPerChild 0

# Number of concurrent threads at a time (set the value to more or less
# depending on the responsiveness you want and the resources you wish
# this server to consume).

ThreadsPerChild 50


# Proxy Server directives. Uncomment the following line to
# enable the proxy server:

#ProxyRequests On

# 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 "D:\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

# -----BEGIN MY CONFIGURATION-----

# mod_ssl global module settings
# Use built in interactive terminal dialog for accepting passphrases
SSLPassPhraseDialog builtin
# Use 'real' mutex
SSLMutex sem
# Use a global/inter-process SSL session cache
SSLSessionCache dbm:d:\Apache\logs\cache_ssl.dbm

# -----END MY CONFIGURATION-----

# 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>

# -----BEGIN MY CONFIGURATION-----

<VirtualHost 192.168.0.1>
# General settings
ServerAdmin christian@globalsign.net
DocumentRoot d:\Apache\htdocs.1
ServerName 192.168.0.1
ErrorLog logs.1/error.log
TransferLog logs.1/access.log

# Rewrite module settings
RewriteEngine On
#RewriteLog D:\Apache\logs.1\rewrite.log
#RewriteLogLevel 9
RewriteRule ([^\?]*\.cfm)$ /cgi-bin/cfml.exe?template=/1_root/$1 [QSA,PT]
</VirtualHost>

<VirtualHost 192.168.0.2:443>
# General settings
ServerAdmin christian@globalsign.net
DocumentRoot d:\Apache\htdocs.2
ServerName 192.168.0.2
ErrorLog logs.2/error.log
TransferLog logs.2/access.log

# Rewrite module settings
RewriteEngine On
#RewriteLog D:\Apache\logs.2\rewrite.log
#RewriteLogLevel 9
RewriteRule ([^\?]*\.cfm)$ /cgi-bin/cfml.exe?template=/2_root/$1 [QSA,PT]

# mod_ssl global module settings
# Turn SSL engine on
SSLEngine on
# Describe all SSL cipher suites
#SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
# Select file where to store certificate
SSLCertificateFile d:\Apache\conf\ssl.crt\server2.crt
# Select file where to store private key
SSLCertificateKeyFile d:\Apache\conf\ssl.key\server2.key
# Select directory/file where CA certificates are stored (for client auth)
#SSLCACertificatePath d:\Apache\conf\ssl.crt\
SSLCACertificateFile d:\Apache\conf\ssl.crt\ca-bundle.crt
# Type of Client Certificate verification
SSLVerifyClient require
# Maximum depth of CA Certificates in Client Certificate verification
SSLVerifyDepth 10
# Number of seconds before an SSL sesson expires in the Session Cache
SSLSessionCacheTimeout 300
# Log file for the SSL engine
SSLLog d:\Apache\logs.2\ssl_engine.log
# Logging level for the SSL engine
SSLLogLevel debug
</VirtualHost>

<VirtualHost 192.168.0.3>
# General settings
ServerAdmin christian@globalsign.net
DocumentRoot d:\Apache\htdocs.3
ServerName 192.168.0.3
ErrorLog logs.3/error.log
TransferLog logs.3/access.log

# Rewrite module settings
RewriteEngine On
#RewriteLog D:\Apache\logs.3\rewrite.log
#RewriteLogLevel 9
RewriteRule ([^\?]*\.cfm)$ /cgi-bin/cfml.exe?template=/3_root/$1 [QSA,PT]
</VirtualHost>

# -----END MY CONFIGURATION-----
