ServerRoot /etc/httpd
PidFile run/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    MinSpareServers 5
    MaxSpareServers 50
    StartServers 8
    ServerLimit 512
    MaxClients 512
    MaxRequestsPerChild 10000
</IfModule>

<IfModule mpm_worker_module>
    StartServers 3
    MinSpareThreads 75
    MaxSpareThreads 250
    ServerLimit 64
    ThreadsPerChild 32
    MaxClients 1024
    MaxRequestsPerChild 10000
</IfModule>

<IfModule mpm_event_module>
    StartServers 3
    MinSpareThreads 75
    MaxSpareThreads 250
    ServerLimit 64
    ThreadsPerChild 32
    MaxClients 2048
    MaxRequestsPerChild 10000
</IfModule>

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule vhost_ldap_module modules/mod_vhost_ldap.so

User apache
Group apache

#ErrorDocument  403  /403-404.html
#ErrorDocument  404  /403-404.html
#ErrorDocument  500  /script_error.html

UserDir disabled

<Directory />
    AllowOverride None
    Options FollowSymLinks IncludesNoExec
</Directory>

<Directory /afs/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/*/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/*/*/*/*/web_scripts>
    AllowOverride All
</Directory>
<Directory /afs/*/*/*/*/*/*/*/*/web_scripts>
    AllowOverride All
</Directory>

<IfModule mod_dir.c>
    DirectoryIndex index index.html index.htm index.cgi index.pl index.php index.py index.shtml index.exe index.fcgi
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order Allow,Deny
    Deny from all
</Files>

UseCanonicalName Off
TypesConfig /etc/mime.types
DefaultType text/plain
#MIMEMagicFile conf/magic

HostnameLookups Off
ErrorLog "/home/logview/error_log"
LogLevel warn
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%a %V %U" statistics
#CustomLog /var/log/httpd/access_log combined
#CustomLog "|/etc/httpd/statistics_log_mitonly.sh" statistics
ServerSignature Off
ServerAdmin scripts@mit.edu
ServerTokens Prod
Header add Scripts-IP "%{SERVER_ADDR}e"

<IfModule mod_autoindex.c>
    Alias /__scripts/icons /var/www/icons
    <Directory /var/www/icons>
        Options Indexes
        AllowOverride None
        <Files ~ "\.(gif|png)$">
            SetHandler default-handler
        </Files>
    </Directory>

    IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

    AddIconByEncoding (CMP,/__scripts/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/__scripts/icons/text.gif) text/*
    AddIconByType (IMG,/__scripts/icons/image2.gif) image/*
    AddIconByType (SND,/__scripts/icons/sound2.gif) audio/*
    AddIconByType (VID,/__scripts/icons/movie.gif) video/*

    AddIcon /__scripts/icons/binary.gif .bin .exe
    AddIcon /__scripts/icons/binhex.gif .hqx
    AddIcon /__scripts/icons/tar.gif .tar
    AddIcon /__scripts/icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /__scripts/icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /__scripts/icons/a.gif .ps .ai .eps
    AddIcon /__scripts/icons/layout.gif .html .shtml .htm .pdf
    AddIcon /__scripts/icons/text.gif .txt
    AddIcon /__scripts/icons/c.gif .c
    AddIcon /__scripts/icons/p.gif .pl .py
    AddIcon /__scripts/icons/f.gif .for
    AddIcon /__scripts/icons/dvi.gif .dvi
    AddIcon /__scripts/icons/uuencoded.gif .uu
    AddIcon /__scripts/icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /__scripts/icons/tex.gif .tex
    AddIcon /__scripts/icons/bomb.gif core

    AddIcon /__scripts/icons/back.gif ..
    AddIcon /__scripts/icons/hand.right.gif README
    AddIcon /__scripts/icons/folder.gif ^^DIRECTORY^^
    AddIcon /__scripts/icons/blank.gif ^^BLANKICON^^

    DefaultIcon /__scripts/icons/unknown.gif

    ReadmeName README
    HeaderName HEADER
    
    IndexIgnore .??* *~ *# RCS CVS *,v *,t
</IfModule>

<IfModule mod_mime.c>
    AddType application/xhtml+xml         .xhtml
    AddType application/http-index-format .hti
    AddType text/html                     .html
    AddType text/css                      .css
    AddType text/xsl                      .xslt
    AddType application/x-javascript      .js
    AddType application/xml               .xml
    AddType image/svg+xml                 .svg
    AddType application/vnd.mozilla.xul+xml .xul
    AddType application/rdf+xml             .rdf
    AddType application/x-xpinstall         .xpi
    AddType text/xml .xsl
    AddType text/html .shtml
    AddHandler server-parsed .shtml

    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 ltz .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cz .cz

    <IfModule mod_negotiation.c>
        LanguagePriority en da nl et fr de el it ja pl pt pt-br ltz ca es sv
    </IfModule>

    AddType application/x-tar .tgz
    AddType image/bmp .bmp

    AddType text/x-hdml .hdml
</IfModule>

<IfModule mod_setenvif.c>
    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
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</IfModule>

Listen 80

RLimitCPU 300 300
RLimitMEM 1610612736 1610612736
RLimitNPROC 4096 4096

NameVirtualHost *:80
NameVirtualHost *:443
NameVirtualHost *:444
NameVirtualHost 18.181.0.50:80
NameVirtualHost 18.181.0.50:443
NameVirtualHost 18.181.0.50:444

ServerName localhost
DocumentRoot /afs/athena.mit.edu/contrib/scripts/www

ExtendedStatus On
RewriteEngine Off

ProxyRequests Off

<Location /robots.txt>
    ErrorDocument 404 "No robots.txt.
</Location>
<Location /favicon.ico>
    ErrorDocument 404 "No favicon.ico.
</Location>

<VirtualHost 18.181.0.50:80>
    ServerName scripts-cert.mit.edu
    ServerAlias scripts-cert
    Include conf.d/scripts-vhost.conf
    Include conf.d/vhosts-common.conf
</VirtualHost>

# LDAP vhost, w00t w00t
<VirtualHost *:80>
    Include conf.d/vhost_ldap.conf
    Include conf.d/vhosts-common.conf
</VirtualHost>

<VirtualHost *:80>
    Include conf.d/scripts-vhost-names.conf
    Include conf.d/scripts-vhost.conf
    Include conf.d/vhosts-common.conf
</VirtualHost>

<IfModule ssl_module>
    Listen 443
    Listen 444

    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl

    # This directive allows insecure renegotiations to succeed for browsers
    # that do not yet support RFC 5746.  It should be removed when enough
    # of the world has caught up.
    SSLInsecureRenegotiation on

    # Temporary fix for presumed CRIME attack against SSL
    SSLCompression off

    SSLPassPhraseDialog  builtin
    SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
    SSLSessionCacheTimeout 28800
    SSLMutex default
    SSLRandomSeed startup file:/dev/urandom 256
    SSLRandomSeed connect builtin
    SSLCryptoDevice builtin
    SSLCertificateFile /etc/pki/tls/certs/star.scripts.pem
    SSLCertificateKeyFile /etc/pki/tls/private/scripts-1024.key
    SSLCACertificateFile /etc/pki/tls/certs/ca.pem
    SSLVerifyClient none
    SSLOptions +StdEnvVars
    SSLProtocol all -SSLv2
    SSLCipherSuite RC4-SHA:AES128-SHA:ALL:!ADH:!EXP:!LOW:!MD5:!SSLV2:!NULL
    <VirtualHost 18.181.0.50:443 18.181.0.50:444>
        ServerName scripts-cert.mit.edu
        ServerAlias scripts-cert
        Include conf.d/scripts-vhost.conf
        Include conf.d/vhosts-common-ssl.conf
        SSLCertificateFile /etc/pki/tls/certs/scripts-cert.pem
        SSLCertificateChainFile /etc/pki/tls/certs/scripts-cert.pem
        SSLCertificateKeyFile /etc/pki/tls/private/scripts.key
        Include conf.d/vhosts-common-ssl-cert.conf
    </VirtualHost>
    <VirtualHost 18.181.0.43:443>
        Include conf.d/scripts-vhost-names.conf
        Include conf.d/scripts-vhost.conf
        Include conf.d/vhosts-common-ssl.conf
        SSLCertificateFile /etc/pki/tls/certs/scripts.pem
        SSLCertificateKeyFile /etc/pki/tls/private/scripts.key
        SSLCertificateChainFile /etc/pki/tls/certs/scripts.pem
    </VirtualHost>
    <VirtualHost 18.181.0.43:444>
        Include conf.d/scripts-vhost-names.conf
        Include conf.d/scripts-vhost.conf
        Include conf.d/vhosts-common-ssl.conf
        Include conf.d/vhosts-common-ssl-cert.conf
        SSLCertificateFile /etc/pki/tls/certs/scripts.pem
        SSLCertificateKeyFile /etc/pki/tls/private/scripts.key
        SSLCertificateChainFile /etc/pki/tls/certs/scripts.pem
    </VirtualHost>
    # LDAP vhost, w00t w00t
    <VirtualHost *:443>
        ServerName localhost
        Include conf.d/vhost_ldap.conf
        Include conf.d/vhosts-common-ssl.conf
    </VirtualHost>
    # LDAP vhost, w00t w00t
    <VirtualHost *:444>
        ServerName localhost
        Include conf.d/vhost_ldap.conf
        Include conf.d/vhosts-common-ssl.conf
        Include conf.d/vhosts-common-ssl-cert.conf
    </VirtualHost>
</IfModule>
Include vhosts.d/*.conf
<IfModule ssl_module>
    <VirtualHost *:443>
        ServerName scripts.scripts.mit.edu
        ServerAlias *.scripts.mit.edu *.scripts
        SSLCertificateFile /etc/pki/tls/certs/star.scripts.pem
        Include conf.d/vhost_ldap.conf
        Include conf.d/vhosts-common-ssl.conf
    </VirtualHost>
    <VirtualHost *:443>
        Include conf.d/scripts-vhost-names.conf
        Include conf.d/scripts-vhost.conf
        Include conf.d/vhosts-common-ssl.conf
    </VirtualHost>
    <VirtualHost *:444>
        ServerName scripts.scripts.mit.edu
        ServerAlias *.scripts.mit.edu *.scripts
        SSLCertificateFile /etc/pki/tls/certs/star.scripts.pem
        Include conf.d/vhost_ldap.conf
        Include conf.d/vhosts-common-ssl.conf
        Include conf.d/vhosts-common-ssl-cert.conf
    </VirtualHost>
    <VirtualHost *:444>
        Include conf.d/scripts-vhost-names.conf
        Include conf.d/scripts-vhost.conf
        Include conf.d/vhosts-common-ssl.conf
        Include conf.d/vhosts-common-ssl-cert.conf
    </VirtualHost>
</IfModule>

LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script fcgi
<Files *.fcgi>
        Options +ExecCGI
</Files>
SocketPath /var/run/mod_fcgid
SharememPath /var/run/mod_fcgid/fcgid_shm
IPCCommTimeout 300
FcgidMaxRequestLen 209715200
FcgidIdleTimeout 600
FcgidMaxProcessesPerClass 10
FcgidMinProcessesPerClass 0
FcgidMaxRequestsPerProcess 10000

Include conf.d/auth_sslcert.conf
Include conf.d/execsys.conf
Include conf.d/scripts-special.conf
