# 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