##
##  drupal-apache.conf -- Drupal Apache Custom Configuration
##

ServerType             standalone
ServerRoot             @l_prefix@
ServerAdmin            root@@l_hostname@.@l_domainname@
ServerName             @l_hostname@.@l_domainname@
ServerTokens           Prod
User                   @l_rusr@
Group                  @l_rgrp@
Port                   80
Listen                 127.0.0.1:80

#   runtime files
PidFile                @l_prefix@/var/drupal/run/apache.pid
ScoreBoardFile         @l_prefix@/var/drupal/run/apache.sb
LockFile               @l_prefix@/var/drupal/run/apache.lck

#  server behaviour
Timeout                300
KeepAlive              on
MaxKeepAliveRequests   100
KeepAliveTimeout       15
MinSpareServers        5
MaxSpareServers        10
StartServers           5
MaxClients             15
MaxRequestsPerChild    500
HostnameLookups        off
UseCanonicalName       on

#   access logging
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
CustomLog              @l_prefix@/var/drupal/log/apache.access.log common

#   error logging
LogLevel               warn
ErrorLog               @l_prefix@/var/drupal/log/apache.error.log
ServerSignature        on

#   secure root directory
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

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

#   SSL/TLS support
<IfModule mod_ssl.c>
    SSLRandomSeed           startup builtin
    SSLRandomSeed           connect builtin
    SSLMutex                sem
    SSLSessionCache         shmcb:@l_prefix@/var/drupal/run/apache.scache(512000)
    SSLSessionCacheTimeout  300
    SSLLog                  @l_prefix@/var/drupal/log/apache.ssl.log
    SSLLogLevel             warn
    SSLCipherSuite          ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    <Files ~ "\.(cgi|shtml|phtml|php?)$">
        SSLOptions +StdEnvVars
    </Files>
    <Directory "@l_prefix@/cgi">
        SSLOptions +StdEnvVars
    </Directory>
</IfModule>

#   configure Drupal
AddType           application/x-httpd-php .php
php_admin_flag    magic_quotes_gpc   0
php_admin_flag    register_globals   0
php_admin_flag    session.auto_start 0
DocumentRoot      @l_prefix@/share/drupal
DirectoryIndex    index.php
ErrorDocument     404 /index.php
ExpiresByType     text/html A1
<Directory        "@l_prefix@/share/drupal">
    Options       -Indexes +FollowSymLinks
    AllowOverride None
    Order         allow,deny
    Allow         from all
    RewriteEngine on
    RewriteCond   %{REQUEST_FILENAME} !-f
    RewriteCond   %{REQUEST_FILENAME} !-d
    RewriteRule   ^(.*)$ index.php?q=$1 [L,QSA]
    <Files ~ "(\.(inc|module|pl|sh|sql|theme|engine|xtmpl)|Entries|Repositories|Root|scripts|updates)$">
        Order     deny,allow
        Deny      from all
    </Files>
</Directory>

