# cygrunsrv -I apache2 -d "CYGWIN apache2" -p /usr/local/apache2/bin/httpd -a -DFOREGROUND -e "CYGWIN=ntsec nosmbntsec" -1 /var/log/apache/cygrunsrv_out.log -2 /var/log/apache/cygrunsrv_err.log
ServerName subdomain1.domain.local
Listen 80
ServerRoot "/usr/local/apache2"
DocumentRoot "/cygdrive/k/HTTPD"
PidFile "/var/run/httpd.pid"
LockFile "/var/run/accept.lock"
ServerTokens Prod
ServerSignature Off
ServerAdmin webmaster@subdomain1.domain.local
# Cygwinでは意味が無い?
User httpd
#Group nobody
Timeout 60
# Keep Aliveを無効にしたほうがFancyIndexes表示が圧倒的に早い(アイコン表示)
# また、この設定によって HTTP1.1 -> HTTP1.0 と動作が変わる
KeepAlive Off
MaxKeepAliveRequests 0
KeepAliveTimeout 20
MaxClients 150
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestsPerChild 0
# ログの設定
HostnameLookups Off
LogLevel warn
ErrorLog /var/log/apache/error.log
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
# 全体のログ(編集なし)
CustomLog /var/log/apache/full.log combined
# 普通に使う為のログ(画像なし)
SetEnvIfNoCase Request_URI "\.(gif)|(jpg)|(png)$" access-log=no
SetEnvIf Remote_Addr "^192\.168\." access-log=no
SetEnvIf Request_URI "default\.ida" access-log=no
SetEnvIf Request_URI "cmd\.exe" access-log=no
SetEnvIf Request_URI "root\.exe" access-log=no
SetEnvIf Request_URI "Admin\.dll" access-log=no
SetEnvIf access-log no without-access=1
CustomLog /var/log/apache/access.log combined env=!without-access
# 画像だけのログ (/icons/ 配下は記録しない)
SetEnvIfNoCase Request_URI "\.(gif)|(jpg)|(png)$" picture-log=yes
SetEnvIf Request_URI "^/icons/" picture-log=no
SetEnvIf Remote_Addr "^192\.168\." picture-log=no
SetEnvIf picture-log yes picture=1
CustomLog /var/log/apache/picture.log combined env=picture
NameVirtualHost 192.168.1.1
ServerName subdomain1.domain.local
DocumentRoot /cygdrive/k/HTTPD/subdomain1.domain.local
ServerAdmin webmaster@subdomain1.domain.local
ErrorLog /var/log/apache/subdomain1.domain.local/error.log
CustomLog /var/log/apache/subdomain1.domain.local/full.log combined
CustomLog /var/log/apache/subdomain1.domain.local/access.log combined env=!without-access
CustomLog /var/log/apache/subdomain1.domain.local/picture.log combined env=picture
ServerName subdomain2.domain.local
DocumentRoot /cygdrive/k/HTTPD/subdomain2.domain.local
ServerAdmin webmaster@subdomain2.domain.local
ErrorLog /var/log/apache/subdomain2.domain.local/error.log
CustomLog /var/log/apache/subdomain2.domain.local/full.log combined
CustomLog /var/log/apache/subdomain2.domain.local/access.log combined env=!without-access
CustomLog /var/log/apache/subdomain2.domain.local/picture.log combined env=picture
# MIMEタイプの設定
TypesConfig conf/mime.types
DefaultType text/plain
MIMEMagicFile conf/magic
# 言語設定
AddLanguage en .en
AddLanguage ja .ja
LanguagePriority ja en
ForceLanguagePriority Prefer Fallback
# どれかを選択(日本語なら)
#AddDefaultCharset {ISO-2022-JP | EUC-JP | Shift_JIS}
AddDefaultCharset Shift_JIS
# ディレクトリリストの設定
# FancyIndexing: ディレクトリインデックスを表示する際のオプションを指定
# します。
# See -> http://msg.scn-net.ne.jp/manual/mod/mod_autoindex.html
IndexOptions FancyIndexing IgnoreClient SuppressColumnSorting SuppressDescription NameWidth=* FoldersFirst VersionSort
# AddIcon* ディレクティブは、いろいろなファイルやファイルの拡張子に対す
# る表示アイコンを指定します。
# これは、IndexOptionsでFancyIndexingを指定していないと有効になりません。
AddIconByEncoding (CMP,/icons/compressed.png) x-compress x-gzip
AddIconByType (TXT,/icons/text.png) text/*
AddIconByType (IMG,/icons/image2.png) image/*
AddIconByType (SND,/icons/sound2.png) audio/*
AddIconByType (VID,/icons/movie.png) video/*
AddIcon /icons/binary.png .bin .exe
AddIcon /icons/binhex.png .hqx
AddIcon /icons/tar.png .tar
AddIcon /icons/world2.png .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.png .Z .z .tgz .gz .zip
AddIcon /icons/a.png .ps .ai .eps
AddIcon /icons/layout.png .html .shtml .htm .pdf
AddIcon /icons/text.png .txt
AddIcon /icons/c.png .c
AddIcon /icons/p.png .pl .py
AddIcon /icons/f.png .for
AddIcon /icons/dvi.png .dvi
AddIcon /icons/uuencoded.png .uu
AddIcon /icons/script.png .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.png .tex
AddIcon /icons/bomb.png core
AddIcon /icons/back.png ..
AddIcon /icons/hand.right.png README
AddIcon /icons/folder.png ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
# DefaultIcon: アイコンが特定されなかったファイルに対する標準アイコン
DefaultIcon /icons/unknown.png
# AddDescription: リスト生成時にファイル名に並べて記述する簡単な説明
# これは、IndexOptionsでFancyIndexingを指定していないと有効になりません。
# 書式は、順に「説明」とファイル名(もしくは拡張子)を記述します。
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz
# ReadmeName: 標準で表示されるべきREADMEファイルの名前を指定する
# HeaderName: 生成されたリストの上部に付加したいファイルの名前を指定する
# サーバは、最初に「名前.html」というファイルを探し、見つからない場合に
# はプレインテキストとして「名前.txt」というファイルを探します。
ReadmeName README
HeaderName HEADER
# IndexIgnore: インデックスリストを生成する際に除外したいファイルの名前
# を列挙します。ここでは、シェル風のワイルドカードが指定できます。
IndexIgnore .??* *~ *# HEADER* README*
# ディレクトリのインデックスファイル名設定
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php4 index.php3
# ディレクトリごとのアクセス権設定ファイル
#AccessFileName .htaccess
#Satisfy All
# . から始まるファイルを参照させない設定
Order Deny,Allow
Deny from all
# / ディレクトリ配下の設定(デフォルトでは何も許可しない)
Options None
AllowOverride None
Order Deny,Allow
Deny from all
# ドキュメントルート (を含むディレクトリ)
# Note: To enable the rewriting engine for per-directory
# configuration files you need to set ``RewriteEngine On''
# in these files and ``Options FollowSymLinks'' must be
# enabled.
Options None FollowSymLinks
AllowOverride None
Order Allow,Deny
Allow from all
# 全域に対して、ブラウザ以外のアクセスを禁じる
# See -> http://www.math.tohoku.ac.jp/~kuroki/keijiban/Robots.html
# See -> http://japache.infoscience.co.jp/rewriteguide/
# See -> http://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html
RewriteEngine On
# PC 用ブラウザ
# Mozilla 互換系
RewriteCond %{HTTP_USER_AGENT} "!^Mozilla/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Sleipnir" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Cuam" [NC]
# テキストブラウザ系
RewriteCond %{HTTP_USER_AGENT} "!^w3m/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Lynx/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Emacs-w3m/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Emacs-W3" [NC]
# MAC 系
RewriteCond %{HTTP_USER_AGENT} "!^iCab" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^WannaBe" [NC]
# その他のマイナーブラウザ系
RewriteCond %{HTTP_USER_AGENT} "!^Opera/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Morpheus" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^NCSA" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^JustView/" [NC]
# ダウンロード系 (許可しないのでコメントアウト)
# RewriteCond %{HTTP_USER_AGENT} "!^Wget/" [NC]
# RewriteCond %{HTTP_USER_AGENT} "!^Internet Ninja" [NC]
# RewriteCond %{HTTP_USER_AGENT} "!^Download Ninja" [NC]
# チェック系
RewriteCond %{HTTP_USER_AGENT} "!^Another_HTML-lint/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^W3C_Validator/" [NC]
# 更新チェッカ
# InternetLinkAgent は行儀悪いので不許可
RewriteCond %{HTTP_USER_AGENT} "!^WWWC/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^WWWD/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Hatena Antenna/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^NATSU-MICAN/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Asahina-Antenna/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^WDB/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^TAMATEBAKO/" [NC]
# PDA 等
RewriteCond %{HTTP_USER_AGENT} "!^sharp pda browser/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Playstation" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^Palmscape/" [NC]
# 携帯端末
RewriteCond %{HTTP_USER_AGENT} "!^DoCoMo/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^J-PHONE/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^L-mode/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^PDXGW/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^UP.Browser/" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^KDDI-" [NC]
RewriteCond %{HTTP_USER_AGENT} "!^ASTEL/" [NC]
RewriteRule ^.*$ - [F]
RewriteCond %{HTTP_USER_AGENT} "archiver" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "crawler" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "robot" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "slurp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "spider" [NC,OR]
RewriteCond DUMMY CONDITION
RewriteRule ^.*$ - [F]
# ディレクトリリストのアイコン (どこの virtual host でも使えるようにする)
Alias /icons/ "/usr/local/apache2/icons/"
Options None
AllowOverride None
Order allow,deny
Allow from all
# ☆subdomain1.domain.local
# ダウンロードをするフォルダ
# Note: To enable the rewriting engine for per-directory
# configuration files you need to set ``RewriteEngine On''
# in these files and ``Options FollowSymLinks'' must be
# enabled.
Options FollowSymLinks None
AllowOverride None
Order allow,deny
Allow from all
# 変なところからのダウンロードや、ダウンロードマネージャを拒否
# 正規表現の . の扱いは許容する(面倒なので)
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yotta-zetta.com/k-square/bootdisk.html$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yotta-zetta.com/k-square/bootcd.html$ [NC]
RewriteRule ^.*$ - [F]
# ☆subdomain1.domain.local
# cygwin の公開用ディレクトリ
# Note: To enable the rewriting engine for per-directory
# configuration files you need to set ``RewriteEngine On''
# in these files and ``Options FollowSymLinks'' must be
# enabled.
Options Indexes FollowSymLinks MultiViews None
AllowOverride None
Order allow,deny
Allow from all
RewriteEngine On
# Referer をみてありえなければ /cygwin/ に飛ばす
RewriteCond %{HTTP_REFERER} !^http://subdomain1\.domain\.local/cygwin/$ [NC]
RewriteCond %{HTTP_REFERER} !^http://subdomain1\.domain\.local/cygwin/.*/$ [NC]
RewriteCond %{REQUEST_URI} !^/cygwin/$
RewriteCond %{REQUEST_URI} !^/cygwin/\.list/
RewriteRule ^.*$ http://subdomain1.domain.local/cygwin/ [L,R]
# ☆subdomain2.domain.local
# プライベートな階層公開用ディレクトリ
# Note: To enable the rewriting engine for per-directory
# configuration files you need to set ``RewriteEngine On''
# in these files and ``Options FollowSymLinks'' must be
# enabled.
Options Indexes FollowSymLinks None
AllowOverride None
Order allow,deny
Allow from all
# 再定義が面倒なのでテンプレートとして残す
#
# # CGI を置く場所
# #ScriptAlias /cgi/ "/home/cgi/"
# #Alias /cgi/ "/home/cgi/"
#
# Options ExecCGI FollowSymLinks None
# AllowOverride None
# Order Allow,Deny
# Allow from all
#
# # CGI の利用する拡張子を設定
# AddHandler cgi-script .cgi
#
#
# RewriteEngine On
# # CGI の先読みを禁止
# # See -> http://www.math.tohoku.ac.jp/~kuroki/keijiban/Robots.html
# RewriteCond %{HTTP_USER_AGENT} MSIECrawler
# RewriteRule ^.*\.(cgi|pl)$ - [F]
#
#
# IPごとの接続数制限
ExtendedStatus On
# 最大接続数設定 ( HTTP1.0 の 2 にあわせる HTTP1.1 なら 4 )
MaxConnPerIP 2
# 制限対象のファイル
#OnlyIPLimit audio/mpeg
# 制限対象外のファイル
#NoIPLimit audio/mpeg
# 最大接続数制限なし
MaxConnPerIP 0
# ファイルクレジットが 30個 で アイドルタイム[s] x 0.067 追加で落とせるようになる
BW_tx1cred_rate 0.067
BW_tx1debt_max 30
# 1MB を自由にダウンロードでき、その後は 1秒 に 1KB 落とせる。
BW_tx2cred_rate 1000
BW_tx2debt_max 1000000
SetHandler bwshare-info
SetHandler bwshare-trace