##
##  punbb-apache.conf -- PunBB Apache Custom Configuration
##

ServerRoot             @l_prefix@
ServerAdmin            root@@l_hostname@.@l_domainname@
ServerName             @l_hostname@.@l_domainname@
ServerTokens           Prod
User                   @l_rusr@
Group                  @l_rgrp@
Listen                 127.0.0.1:8080

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

#   include apache-php
Include                @l_prefix@/etc/apache/apache.d/apache-php.conf

#  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/punbb/log/apache.access.log common

#   error logging
LogLevel               warn
ErrorLog               @l_prefix@/var/punbb/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 ssl_module>
    SSLRandomSeed           startup builtin
    SSLRandomSeed           connect builtin
    SSLMutex                sem
    SSLSessionCache         shmcb:@l_prefix@/var/punbb/run/apache.scache(512000)
    SSLSessionCacheTimeout  300
    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 PHP for PunBB
AddType           application/x-httpd-php .php
php_admin_flag    register_globals      off
php_admin_flag    safe_mode             on
php_admin_flag    safe_mode_gid         on
php_admin_flag    allow_url_fopen       off
php_admin_flag    display_errors        off
php_admin_value   log_errors            on
php_admin_value   max_execution_time    60
php_admin_value   max_input_time        60
php_admin_value   memory_limit          8M
php_admin_value   post_max_size         8M
php_admin_value   include_path          .:@l_prefix@/lib/punbb:@l_prefix@/lib/php
php_admin_value   safe_mode_include_dir @l_prefix@/lib/punbb

#   configure PunBB
RewriteEngine     on
RewriteRule       ^/$ /punbb/ [R,L]
Alias             /punbb @l_prefix@/lib/punbb
DocumentRoot      @l_prefix@/lib/punbb
DirectoryIndex    index.php
<Directory        "@l_prefix@/lib/punbb">
    Options       Indexes ExecCGI FollowSymLinks
    AllowOverride All
    Order         allow,deny
    Allow         from all

    RewriteEngine On
    RewriteBase   /punbb
    RewriteCond   %{REQUEST_FILENAME} !-f
    RewriteCond   %{REQUEST_FILENAME} !-d
    RewriteRule   .+ rewrite.php  [L]
</Directory>

