configuration-templates

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 1  →  ?path2? @ HEAD
/apache/security/limits/quality_of_service.conf
@@ -0,0 +1,37 @@
########################################################################
# Security - Apache Quality of Service (QoS) module (throttling). #
# Depends on Apache modules: qos, ssl, setenvif #
########################################################################
 
<IfModule mod_qos.c>
### Maximum number of active TCP connections.
## Needs to be calculated: http://grimore.org/fuss/apache#calculate_the_optimal_maximum_number_of_concurrent_connections
MaxClients 25
### Idle timeout:
Timeout 15
### KeepAlive
KeepAlive on
MaxKeepAliveRequests 25
KeepAliveTimeout 5
## Percent of requests (MaxClients) supporting HTTP keep-alive.
QS_SrvMaxConnClose 70%
### Deny slow clients blocking the server.
## QS_SrvMinDataRate min (bytes) max (bytes)
QS_SrvMinDataRate 128 1200
### Limit request line, header and body.
LimitRequestLine 7168
LimitRequestFields 30
QS_LimitRequestBody 102400
### Number of allowed connections per IP address
## Get the IP address from the X-Forwarded-For header.
# QS_ClientIpFromHeader X-Forwarded-For
QS_SrvMaxConnPerIP 16
### Whitelist IP addresses and address ranges.
## Mark loopback and private subnets as exempt from throttling.
SetEnvIfExpr "-R '127.0.0.0/8' || -R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" IgnoreIP=yes
SetEnvIfExpr "-R '127.0.0.0/8' || -R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" QS_VipRequest=yes
## Unset the QS_Block variable for whitelisted IP
QS_SetEnvIf IgnoreIP QS_Block !QS_Block
### Enable or disable the qos-viewer and qos-viewer
QS_DisableHandler on
</IfModule>
/apache/security/crawlers/bad_bots.conf
@@ -0,0 +1,337 @@
########################################################################
# Security - crawlers and misbehaving bots. #
# Depends on Apache modules: setenvif #
########################################################################
 
<IfModule mod_setenvif.c>
### Block Bad Bots by User-Agent
SetEnvIfNoCase User-Agent "AESOP_com_SpiderMan" bad_bot
SetEnvIfNoCase User-Agent "Alexibot" bad_bot
SetEnvIfNoCase User-Agent "Anonymouse\.org" bad_bot
SetEnvIfNoCase User-Agent "Art\-Online" bad_bot
SetEnvIfNoCase User-Agent "BackDoorBot" bad_bot
SetEnvIfNoCase User-Agent "BackWeb" bad_bot
SetEnvIfNoCase User-Agent "Baiduspider" bad_bot
SetEnvIfNoCase User-Agent "BatchFTP" bad_bot
SetEnvIfNoCase User-Agent "Bigfoot" bad_bot
SetEnvIfNoCase User-Agent "BlackWidow" bad_bot
SetEnvIfNoCase User-Agent "Black\.Hole" bad_bot
SetEnvIfNoCase User-Agent "BlogPulseLive" bad_bot
SetEnvIfNoCase User-Agent "BlowFish" bad_bot
SetEnvIfNoCase User-Agent "Bot mailto:craftbot@yahoo\.com" bad_bot
SetEnvIfNoCase User-Agent "BotALot" bad_bot
SetEnvIfNoCase User-Agent "Buddy" bad_bot
SetEnvIfNoCase User-Agent "BuiltBotTough" bad_bot
SetEnvIfNoCase User-Agent "BuiltbotTough" bad_bot
SetEnvIfNoCase User-Agent "Bullseye" bad_bot
SetEnvIfNoCase User-Agent "BunnySlippers" bad_bot
SetEnvIfNoCase User-Agent "CC\-rget/5\.818" bad_bot
SetEnvIfNoCase User-Agent "Cegbfeieh" bad_bot
SetEnvIfNoCase User-Agent "CheeseBot" bad_bot
SetEnvIfNoCase User-Agent "Cheesebot" bad_bot
SetEnvIfNoCase User-Agent "CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "Collector" bad_bot
SetEnvIfNoCase User-Agent "Copier" bad_bot
SetEnvIfNoCase User-Agent "CopyRightCheck" bad_bot
SetEnvIfNoCase User-Agent "Crescent" bad_bot
SetEnvIfNoCase User-Agent "Custo" bad_bot
SetEnvIfNoCase User-Agent "DIIbot" bad_bot
SetEnvIfNoCase User-Agent "DISCo" bad_bot
SetEnvIfNoCase User-Agent "DNS\-Digger\-Explorer/1\.0" bad_bot
SetEnvIfNoCase User-Agent "DNS\-Digger/1\.0" bad_bot
SetEnvIfNoCase User-Agent "DittoSpyder" bad_bot
SetEnvIfNoCase User-Agent "Download Demon" bad_bot
SetEnvIfNoCase User-Agent "Download Devil" bad_bot
SetEnvIfNoCase User-Agent "Download Wonder" bad_bot
SetEnvIfNoCase User-Agent "Download" bad_bot
SetEnvIfNoCase User-Agent "Downloader" bad_bot
SetEnvIfNoCase User-Agent "DownloadsDemon" bad_bot
SetEnvIfNoCase User-Agent "Drip" bad_bot
SetEnvIfNoCase User-Agent "EasyDL" bad_bot
SetEnvIfNoCase User-Agent "EirGrabber" bad_bot
SetEnvIfNoCase User-Agent "EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "EroCrawler" bad_bot
SetEnvIfNoCase User-Agent "Exabot" bad_bot
SetEnvIfNoCase User-Agent "Exabot/2\.0" bad_bot
SetEnvIfNoCase User-Agent "Express WebPictures" bad_bot
SetEnvIfNoCase User-Agent "ExpresssWebPictures" bad_bot
SetEnvIfNoCase User-Agent "Extractor" bad_bot
SetEnvIfNoCase User-Agent "ExtractorPro" bad_bot
SetEnvIfNoCase User-Agent "EyeNetIE" bad_bot
SetEnvIfNoCase User-Agent "Ezooms" bad_bot
SetEnvIfNoCase User-Agent "FileHound" bad_bot
SetEnvIfNoCase User-Agent "FlashGet" bad_bot
SetEnvIfNoCase User-Agent "Foobot" bad_bot
SetEnvIfNoCase User-Agent "FrontPage" bad_bot
SetEnvIfNoCase User-Agent "GetRight" bad_bot
SetEnvIfNoCase User-Agent "GetSmart" bad_bot
SetEnvIfNoCase User-Agent "GetWeb!" bad_bot
SetEnvIfNoCase User-Agent "Go!Zilla" bad_bot
SetEnvIfNoCase User-Agent "Go\-Ahead\-Got\-It" bad_bot
SetEnvIfNoCase User-Agent "Google Wireless Transcoder" bad_bot
SetEnvIfNoCase User-Agent "GrabNet" bad_bot
SetEnvIfNoCase User-Agent "Grabber" bad_bot
SetEnvIfNoCase User-Agent "Grafula" bad_bot
SetEnvIfNoCase User-Agent "HMView" bad_bot
SetEnvIfNoCase User-Agent "HTTrack" bad_bot
SetEnvIfNoCase User-Agent "Harvest" bad_bot
SetEnvIfNoCase User-Agent "HuaweiSymantecSpider" bad_bot
SetEnvIfNoCase User-Agent "IlseBot" bad_bot
SetEnvIfNoCase User-Agent "Image Stripper" bad_bot
SetEnvIfNoCase User-Agent "Image Sucker" bad_bot
SetEnvIfNoCase User-Agent "ImagesStripper" bad_bot
SetEnvIfNoCase User-Agent "ImagesSucker" bad_bot
SetEnvIfNoCase User-Agent "Indy Library" bad_bot
SetEnvIfNoCase User-Agent "IndysLibrary" bad_bot
SetEnvIfNoCase User-Agent "InfoNaviRobot" bad_bot
SetEnvIfNoCase User-Agent "InfoTekies" bad_bot
SetEnvIfNoCase User-Agent "InfonaviRobot" bad_bot
SetEnvIfNoCase User-Agent "Intelliseek" bad_bot
SetEnvIfNoCase User-Agent "InterGET" bad_bot
SetEnvIfNoCase User-Agent "Internet Ninja" bad_bot
SetEnvIfNoCase User-Agent "InternetsNinja" bad_bot
SetEnvIfNoCase User-Agent "Iria" bad_bot
SetEnvIfNoCase User-Agent "JOC" bad_bot
SetEnvIfNoCase User-Agent "JOCsWebsSpider" bad_bot
SetEnvIfNoCase User-Agent "Jakarta Commons\-HttpClient/3\.0" bad_bot
SetEnvIfNoCase User-Agent "Jakarta" bad_bot
SetEnvIfNoCase User-Agent "JennyBot" bad_bot
SetEnvIfNoCase User-Agent "Jennybot" bad_bot
SetEnvIfNoCase User-Agent "JetCar" bad_bot
SetEnvIfNoCase User-Agent "JustView" bad_bot
SetEnvIfNoCase User-Agent "Jyxobot" bad_bot
SetEnvIfNoCase User-Agent "Kenjin\.Spider" bad_bot
SetEnvIfNoCase User-Agent "Keyword\.Density" bad_bot
SetEnvIfNoCase User-Agent "LNSpiderguy" bad_bott
SetEnvIfNoCase User-Agent "LWP::Simple" bad_bot
SetEnvIfNoCase User-Agent "LeechFTP" bad_bot
SetEnvIfNoCase User-Agent "LexiBot" bad_bot
SetEnvIfNoCase User-Agent "Lexibot" bad_bot
SetEnvIfNoCase User-Agent "LexxeBot" bad_bot
SetEnvIfNoCase User-Agent "LinkScan/8\.1a\.Unix" bad_bo
SetEnvIfNoCase User-Agent "LinkScan/8\.1a\.Unix" bad_bot
SetEnvIfNoCase User-Agent "LinkWalker" bad_bot
SetEnvIfNoCase User-Agent "LinkextractorPro" bad_bot
SetEnvIfNoCase User-Agent "MIDown tool" bad_bot
SetEnvIfNoCase User-Agent "MIDownstool" bad_bot
SetEnvIfNoCase User-Agent "MIIxpc" bad_bot
SetEnvIfNoCase User-Agent "MJ12bot" bad_bot
SetEnvIfNoCase User-Agent "MJ12bot/v1\.2\.0" bad_bot
SetEnvIfNoCase User-Agent "MJ12bot/v1\.2\.5" bad_bot
SetEnvIfNoCase User-Agent "MLBot" bad_bot
SetEnvIfNoCase User-Agent "Mag\-Net" bad_bot
SetEnvIfNoCase User-Agent "Magnet" bad_bot
SetEnvIfNoCase User-Agent "MarkWatch" bad_bot
SetEnvIfNoCase User-Agent "Mass Downloader" bad_bot
SetEnvIfNoCase User-Agent "MasssDownloader" bad_bot
SetEnvIfNoCase User-Agent "Mata\.Hari" bad_bot
SetEnvIfNoCase User-Agent "Memo" bad_bot
SetEnvIfNoCase User-Agent "Microsoft URL Control" bad_bot
SetEnvIfNoCase User-Agent "Microsoft\.URL" bad_bot
SetEnvIfNoCase User-Agent "Mirror" bad_bot
SetEnvIfNoCase User-Agent "Missigua Locator" bad_bot
SetEnvIfNoCase User-Agent "Mister PiX" bad_bot
SetEnvIfNoCase User-Agent "Mister\.PiX" bad_bot
SetEnvIfNoCase User-Agent "MistersPiX" bad_bot
SetEnvIfNoCase User-Agent "Mozilla.+?NEWT" bad_bot
SetEnvIfNoCase User-Agent "NAMEPROTECT" bad_bot
SetEnvIfNoCase User-Agent "NG" bad_bot
SetEnvIfNoCase User-Agent "NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "NPbot" bad_bot
SetEnvIfNoCase User-Agent "Navroad" bad_bot
SetEnvIfNoCase User-Agent "NearSite" bad_bot
SetEnvIfNoCase User-Agent "Net Vampire" bad_bot
SetEnvIfNoCase User-Agent "NetAnts" bad_bot
SetEnvIfNoCase User-Agent "NetMechanic" bad_bot
SetEnvIfNoCase User-Agent "NetSeer crawler/2\.0" bad_bot
SetEnvIfNoCase User-Agent "NetSeer/Nutch\-0\.9" bad_bot
SetEnvIfNoCase User-Agent "NetSpider" bad_bot
SetEnvIfNoCase User-Agent "NetZIP" bad_bot
SetEnvIfNoCase User-Agent "Netcraft" bad_bot
SetEnvIfNoCase User-Agent "NetsVampire" bad_bot
SetEnvIfNoCase User-Agent "Netseer" bad_bot
SetEnvIfNoCase User-Agent "NextGenSearchBot" bad_bot
SetEnvIfNoCase User-Agent "NimbleCrawler" bad_bot
SetEnvIfNoCase User-Agent "Ninja" bad_bot
SetEnvIfNoCase User-Agent "Nutch" bad_bot
SetEnvIfNoCase User-Agent "Nutraspace" bad_bot
SetEnvIfNoCase User-Agent "Octopus" bad_bot
SetEnvIfNoCase User-Agent "Offline Explorer" bad_bot
SetEnvIfNoCase User-Agent "Offline Navigator" bad_bot
SetEnvIfNoCase User-Agent "Offline\.Explorer" bad_bot
SetEnvIfNoCase User-Agent "OfflinesExplorer" bad_bot
SetEnvIfNoCase User-Agent "OfflinesNavigator" bad_bot
SetEnvIfNoCase User-Agent "OmniExplorer_Bot/6\.11\.1" bad_bot
SetEnvIfNoCase User-Agent "Openfind" bad_bot
SetEnvIfNoCase User-Agent "OutfoxBot" bad_bot
SetEnvIfNoCase User-Agent "PHP version tracker" bad_bot
SetEnvIfNoCase User-Agent "PageGrabber" bad_bot
SetEnvIfNoCase User-Agent "Pagerabber" bad_bot
SetEnvIfNoCase User-Agent "Papa Foto" bad_bot
SetEnvIfNoCase User-Agent "PapasFoto" bad_bot
SetEnvIfNoCase User-Agent "PaperLiBot" bad_bot
SetEnvIfNoCase User-Agent "Pockey" bad_bot
SetEnvIfNoCase User-Agent "ProPowerBot/2\.14" bad_bot
SetEnvIfNoCase User-Agent "ProPowerbot/2\.14" bad_bot
SetEnvIfNoCase User-Agent "ProWebWalker" bad_bot
SetEnvIfNoCase User-Agent "ProgramsSharewares1" bad_bot
SetEnvIfNoCase User-Agent "Pump" bad_bot
SetEnvIfNoCase User-Agent "QueryN\.Metasearch" bad_bot
SetEnvIfNoCase User-Agent "R6_CommentReader" bad_bot
SetEnvIfNoCase User-Agent "R6_FeedFetcher" bad_bot
SetEnvIfNoCase User-Agent "RMA" bad_bot
SetEnvIfNoCase User-Agent "ReGet" bad_bot
SetEnvIfNoCase User-Agent "RealDownload" bad_bot
SetEnvIfNoCase User-Agent "Reaper" bad_bot
SetEnvIfNoCase User-Agent "Recorder" bad_bot
SetEnvIfNoCase User-Agent "RepoMonkey" bad_bot
SetEnvIfNoCase User-Agent "ScoutJet" bad_bot
SetEnvIfNoCase User-Agent "SemrushBot/0\.9" bad_bot
SetEnvIfNoCase User-Agent "SeznamBot/3\.0" bad_bot
SetEnvIfNoCase User-Agent "Siphon" bad_bot
SetEnvIfNoCase User-Agent "SiteBot/0\.1" bad_bot
SetEnvIfNoCase User-Agent "SiteSnagger" bad_bot
SetEnvIfNoCase User-Agent "SlySearch" bad_bot
SetEnvIfNoCase User-Agent "SmartDownload" bad_bot
SetEnvIfNoCase User-Agent "Snake" bad_bot
SetEnvIfNoCase User-Agent "Snapbot" bad_bot
SetEnvIfNoCase User-Agent "Snoopy" bad_bot
SetEnvIfNoCase User-Agent "SocialSpider\-Finder/0\.2" bad_bot
SetEnvIfNoCase User-Agent "Sogouwebspider/3\.0" bad_bot
SetEnvIfNoCase User-Agent "Sogouwebspider/4\.0" bad_bot
SetEnvIfNoCase User-Agent "SpaceBison" bad_bot
SetEnvIfNoCase User-Agent "SpankBot" bad_bot
SetEnvIfNoCase User-Agent "Spankbot" bad_bot
SetEnvIfNoCase User-Agent "Spinn3r" bad_bot
SetEnvIfNoCase User-Agent "Sqworm" bad_bot
SetEnvIfNoCase User-Agent "Stripper" bad_bot
SetEnvIfNoCase User-Agent "Sucker" bad_bot
SetEnvIfNoCase User-Agent "SuperBot" bad_bot
SetEnvIfNoCase User-Agent "SuperHTTP" bad_bot
SetEnvIfNoCase User-Agent "Superbot" bad_bot
SetEnvIfNoCase User-Agent "Surfbot" bad_bot
SetEnvIfNoCase User-Agent "Szukacz/1\.4" bad_bot
SetEnvIfNoCase User-Agent "TalkTalk" bad_bot
SetEnvIfNoCase User-Agent "Teleport" bad_bot
SetEnvIfNoCase User-Agent "TeleportsPro" bad_bot
SetEnvIfNoCase User-Agent "Telesoft" bad_bot
SetEnvIfNoCase User-Agent "The\.Intraformant" bad_bot
SetEnvIfNoCase User-Agent "TheNomad" bad_bot
SetEnvIfNoCase User-Agent "TightTwatBot" bad_bot
SetEnvIfNoCase User-Agent "TightTwatbot" bad_bot
SetEnvIfNoCase User-Agent "Titan" bad_bot
SetEnvIfNoCase User-Agent "True_Robot" bad_bot
### Turnitin - "double-standard copyright violator"
SetEnvIfNoCase User-Agent "TurnitinBot" bad_bot
SetEnvIfNoCase User-Agent "TurnitinBot/1\.5" bad_bot
SetEnvIfNoCase User-Agent "URLy\.Warning" bad_bot
SetEnvIfNoCase User-Agent "VCI" bad_bot
SetEnvIfNoCase User-Agent "Vacuum" bad_bot
SetEnvIfNoCase User-Agent "VoidEYE" bad_bot
SetEnvIfNoCase User-Agent "WISENutbot" bad_bot
SetEnvIfNoCase User-Agent "WWWOFFLE" bad_bot
SetEnvIfNoCase User-Agent "WWW\-Collector\-E" bad_bot
SetEnvIfNoCase User-Agent "Web Image Collector" bad_bot
SetEnvIfNoCase User-Agent "Web Sucker" bad_bot
SetEnvIfNoCase User-Agent "WebAuto" bad_bot
SetEnvIfNoCase User-Agent "WebBandit" bad_bot
SetEnvIfNoCase User-Agent "WebCopier" bad_bot
SetEnvIfNoCase User-Agent "WebEMailExtrac.+?" bad_bot
SetEnvIfNoCase User-Agent "WebEnhancer" bad_bot
SetEnvIfNoCase User-Agent "WebFetch" bad_bot
SetEnvIfNoCase User-Agent "WebGo IS" bad_bot
SetEnvIfNoCase User-Agent "WebGosIS" bad_bot
SetEnvIfNoCase User-Agent "WebLeacher" bad_bot
SetEnvIfNoCase User-Agent "WebReaper" bad_bot
SetEnvIfNoCase User-Agent "WebSauger" bad_bot
SetEnvIfNoCase User-Agent "WebSite" bad_bot
SetEnvIfNoCase User-Agent "WebStripper" bad_bot
SetEnvIfNoCase User-Agent "WebWhacker" bad_bot
SetEnvIfNoCase User-Agent "WebZIP" bad_bot
SetEnvIfNoCase User-Agent "WebZip" bad_bot
SetEnvIfNoCase User-Agent "Web\.Image\.Collector" bad_bot
SetEnvIfNoCase User-Agent "Webbandit" bad_bot
SetEnvIfNoCase User-Agent "Webclipping\.com" bad_bot
SetEnvIfNoCase User-Agent "WebmasterWorldForumbot" bad_bot
SetEnvIfNoCase User-Agent "WebsImagesCollector" bad_bot
SetEnvIfNoCase User-Agent "WebsSucker" bad_bot
SetEnvIfNoCase User-Agent "Website Quester" bad_bot
SetEnvIfNoCase User-Agent "Website eXtractor" bad_bot
SetEnvIfNoCase User-Agent "Website\.Quester" bad_bot
SetEnvIfNoCase User-Agent "WebsitesQuester" bad_bot
SetEnvIfNoCase User-Agent "WebsiteseXtractor" bad_bot
SetEnvIfNoCase User-Agent "Webster" bad_bot
SetEnvIfNoCase User-Agent "Webster\.Pro" bad_bot
SetEnvIfNoCase User-Agent "Whacker" bad_bot
SetEnvIfNoCase User-Agent "Widow" bad_bot
SetEnvIfNoCase User-Agent "Xaldon" bad_bot
SetEnvIfNoCase User-Agent "XaldonsWebSpider" bad_bot
SetEnvIfNoCase User-Agent "Xenu" bad_bot
SetEnvIfNoCase User-Agent "Xenu's" bad_bot
SetEnvIfNoCase User-Agent "Zeus" bad_bot
SetEnvIfNoCase User-Agent "Zyborg" bad_bot
SetEnvIfNoCase User-Agent "[Ww]eb[Bb]andit" bad_bot
SetEnvIfNoCase User-Agent "ahrefsbot" bad_bot
SetEnvIfNoCase User-Agent "ahrefsbot/1\.0" bad_bot
SetEnvIfNoCase User-Agent "asterias" bad_bot
SetEnvIfNoCase User-Agent "attach" bad_bot
SetEnvIfNoCase User-Agent "bandit" bad_bot
SetEnvIfNoCase User-Agent "boardreader" bad_bot
SetEnvIfNoCase User-Agent "botALot" bad_bot
SetEnvIfNoCase User-Agent "butterfly" bad_bot
SetEnvIfNoCase User-Agent "cosmos" bad_bot
SetEnvIfNoCase User-Agent "discobot" bad_bot
SetEnvIfNoCase User-Agent "discobot/1\.0" bad_bot
SetEnvIfNoCase User-Agent "dragonfly" bad_bot
SetEnvIfNoCase User-Agent "eCatch" bad_bot
SetEnvIfNoCase User-Agent "ebingbong" bad_bot
SetEnvIfNoCase User-Agent "ezooms" bad_bot
SetEnvIfNoCase User-Agent "flunky" bad_bot
SetEnvIfNoCase User-Agent "gotit" bad_bot
SetEnvIfNoCase User-Agent "hloader" bad_bot
SetEnvIfNoCase User-Agent "httplib" bad_bot
SetEnvIfNoCase User-Agent "humanlinks" bad_bot
SetEnvIfNoCase User-Agent "ia_archiver" bad_bot
SetEnvIfNoCase User-Agent "jakarta" bad_bot
SetEnvIfNoCase User-Agent "jikespider" bad_bot
SetEnvIfNoCase User-Agent "larbin" bad_bot
SetEnvIfNoCase User-Agent "lftp" bad_bot
SetEnvIfNoCase User-Agent "libWeb/clsHTTP" bad_bot
SetEnvIfNoCase User-Agent "libwww\-perl/5\.813" bad_bot
SetEnvIfNoCase User-Agent "likse" bad_bot
SetEnvIfNoCase User-Agent "lwp\-trivial" bad_bot
SetEnvIfNoCase User-Agent "magpie\-crawler 1\.1" bad_bot
SetEnvIfNoCase User-Agent "moget" bad_bot
SetEnvIfNoCase User-Agent "moreoverbot/5\.0" bad_bot
SetEnvIfNoCase User-Agent "netseer/0\.1" bad_bot
SetEnvIfNoCase User-Agent "omniexplorer_bot" bad_bot
SetEnvIfNoCase User-Agent "pavuk" bad_bot
SetEnvIfNoCase User-Agent "pcBrowser" bad_bot
SetEnvIfNoCase User-Agent "proximic" bad_bot
SetEnvIfNoCase User-Agent "psbot" bad_bot
SetEnvIfNoCase User-Agent "psbot/0\.1" bad_bot
SetEnvIfNoCase User-Agent "radian6" bad_bot
SetEnvIfNoCase User-Agent "sitecheck\.internetseer\.com" bad_bot
SetEnvIfNoCase User-Agent "sogou" bad_bot
SetEnvIfNoCase User-Agent "sosospider\+" bad_bot
SetEnvIfNoCase User-Agent "spanner" bad_bot
SetEnvIfNoCase User-Agent "suzuran" bad_bot
SetEnvIfNoCase User-Agent "tAkeOut" bad_bot
SetEnvIfNoCase User-Agent "toCrawl/UrlDispatcher" bad_bot
SetEnvIfNoCase User-Agent "turingos" bad_bot
SetEnvIfNoCase User-Agent "yandex" bad_bot
SetEnvIfNoCase User-Agent "yandeximages" bad_bot
 
### No user agent at all.
## Disable.
#SetEnvIfNoCase User-Agent ^$ bad_bot
 
<Files *>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Files>
</IfModule>
/apache/subversion/multiple-repositories/subversion_multiple_repositories.conf
@@ -0,0 +1,87 @@
########################################################################
# Subversion - multi-repo configuration. #
# Sources: http://svnbook.red-bean.com/ #
# Depends on Apache modules: #
# dav, dav_svn, authz_svn, dontdothat, alias, auth_digest, #
# authn_core, authn_file, authz_core, authz_user #
# #
########################################################################
 
## The trailing '/' in /svn/ is needed to browse repos with a browser!
RedirectMatch ^(/svn)$ $1/
 
## Tuning:
KeepAlive on
MaxKeepAliveRequests 1000
 
 
# http://subversion.apache.org/docs/release-notes/1.7.html#server-performance-tuning
# Calculate your own values!
# For mod_dav_svn, a 1GB cache configuration with maximum data coverage looks like this
<IfModule dav_svn_module>
SVNInMemoryCacheSize 1048576
SVNCacheFullTexts on
SVNCacheTextDeltas on
</IfModule>
 
## Multiple Repos with Digest auth:
## - AuthName is an arbitrary name that you choose for the authentication
## domain. Most browsers display this name in the dialog box when prompting
## for username and password.
## - AuthType specifies the type of authentication to use.
## - AuthUserFile specifies the location of the password file to use.
##
<IfModule dav_svn_module>
<Location /svn/>
<ifModule mime_module>
RemoveEncoding .gz .tgz .Z
RemoveType .gz .tgz .Z
</ifModule>
 
## Enable Subversion
DAV svn
 
## Directory containing all repository for this path
SVNParentPath /space/svn/
 
## List repositories collection
SVNListParentPath on
 
## Disable WebDAV automatic versioning
SVNAutoversioning off
 
## Return a descriptive name for the repository.
SVNReposName "Project XYZ repo"
 
## Anonymous access
AuthzSVNAnonymous off
 
## XSL to display files - sample in subversion share distribution
# SVNIndexXSLT "/style/svnindex.xsl"
##
## You can use the htdigest program to create the password database:
## htdigest -c "etc/apache24/svn-auth.passwd" SVN-repo admin
##
## Authentication: Digest
AuthType Digest
AuthName "SVN repositories"
AuthDigestProvider file
AuthDigestDomain /svn/ http://mirror.my.dom/svn2/
AuthUserFile etc/apache24/svn-auth.passwd
## Authentication: Basic
# AuthType Basic
# AuthName AuthName "SVN repositories"
# AuthUserFile etc/apache24/svn-auth.passwd
 
## Authorization: Allow anonymous to read but only valid users may write.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
 
## Do not limit large update requests
LimitXMLRequestBody 0
</Location>
</IfModule>
 
 
/apache/optimizations/expiration/expiration.conf
@@ -0,0 +1,88 @@
########################################################################
# Expiration - sets cache expiration for content. #
# Depends on Apache modules: #
# expires, headers #
########################################################################
 
# Serve resources with far-future expires headers.
#
# (!) If you don't control versioning with filename-based
# cache busting, you should consider lowering the cache times
# to something like one week.
#
# https://httpd.apache.org/docs/current/mod/mod_expires.html
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
 
## CSS
ExpiresByType text/css "access plus 1 year"
 
## Data interchange
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rdf+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
 
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/schema+json "access plus 0 seconds"
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
 
## Favicon (cannot be renamed!) and cursor images
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
 
## HTML
ExpiresByType text/html "access plus 60 seconds"
 
## JavaScript
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
 
## Manifest files
ExpiresByType application/manifest+json "access plus 1 week"
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
 
 
## Media files
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
 
## Web fonts
# Embedded OpenType (EOT)
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"
# OpenType
ExpiresByType font/opentype "access plus 1 month"
# TrueType
ExpiresByType application/x-font-ttf "access plus 1 month"
# Web Open Font Format (WOFF) 1.0
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
# Web Open Font Format (WOFF) 2.0
ExpiresByType application/font-woff2 "access plus 1 month"
 
## Other
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
 
# Remove `ETags` as resources are sent with far-future expires headers.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
 
FileETag None
 
</IfModule>
/apache/optimizations/compression/compression.conf
@@ -0,0 +1,78 @@
########################################################################
# Compression - compresses files for delivery. #
# Depends on Apache modules: #
# deflate, headers, setenvif, filter, mime #
########################################################################
 
<IfModule mod_deflate.c>
 
# Force compression for mangled `Accept-Encoding` request headers
# https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
 
# Compress all output labeled with one of the following media types.
#
# (!) For Apache versions below version 2.3.7 you don't need to
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
# the core directives.
#
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"
 
</IfModule>
 
# Map the following filename extensions to the specified
# encoding type in order to make Apache serve the file types
# with the appropriate `Content-Encoding` response header
# (do note that this will NOT make Apache compress them!).
#
# If these files types would be served without an appropriate
# `Content-Enable` response header, client applications (e.g.:
# browsers) wouldn't know that they first need to uncompress
# the response, and thus, wouldn't be able to understand the
# content.
#
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
<IfModule mod_mime.c>
AddEncoding gzip svgz
</IfModule>
 
</IfModule>