![]() |
LINUX |
httpd.conf
*httpd-2.2.16で使っています
*設定ファイルを分割し、Includeディレクティブで読み込んでいます
*設定のマージの順番があるので注意
*httpマニュアルの「セクションの設定」を参照して下さい
*完全コピーしないこと (エラーが出ることあり)
*"#" で始まる行はコメントとして解釈されます
*紫色文字 変更部分
/etc/httpd/conf/httpd.conf
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
ServerRoot "/usr/local/apache2" #Listen 12.34.56.78:80 Listen 80 #LoadModule authn_dbm_module modules/mod_authn_dbm.so #LoadModule authn_anon_module modules/mod_authn_anon.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule deflate_module modules/mod_deflate.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule unique_id_module modules/mod_unique_id.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule ssl_module modules/mod_ssl.so #LoadModule dav_module modules/mod_dav.so LoadModule info_module modules/mod_info.so LoadModule suexec_module modules/mod_suexec.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule speling_module modules/mod_speling.so LoadModule php5_module modules/libphp5.so <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User apache Group apache </IfModule> </IfModule>
ServerAdmin moonlight@528p.com
ServerName www.528p.com
DocumentRoot "/home/www/htdocs"
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/home/www/htdocs"> Options SymLinksifOwnerMatch IncludesNoExec AllowOverride None Order allow,deny Allow from all Deny from env=wormlist <Files mainfile.php> Deny from all </Files> </Directory>
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
ErrorLog "/var/log/httpd/error_log" LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%!414r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "/var/log/httpd/access_log" combined env=!ignorelog
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/home/www/cgi-bin/"
</IfModule>
<IfModule cgid_module>
#Scriptsock /var/run/cgisock
</IfModule>
<Directory "/home/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
Deny from env=wormlist
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig /etc/httpd/conf/mime.types
#AddType application/x-gzip .tgz
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#AddHandler cgi-script .cgi
#AddHandler type-map var
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
MIMEMagicFile /etc/httpd/conf/magic
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
ErrorDocument 403 /lead2home.html
#EnableMMAP off #EnableSendfile off Include /etc/httpd/conf/extra/httpd-mpm.conf #Include /etc/httpd/conf/extra/httpd-multilang-errordoc.conf Include /etc/httpd/conf/extra/httpd-autoindex.conf Include /etc/httpd/conf/extra/httpd-languages.conf #Include /etc/httpd/conf/extra/httpd-userdir.conf Include /etc/httpd/conf/extra/httpd-info.conf #Include /etc/httpd/conf/extra/httpd-vhosts.conf #Include /etc/httpd/conf/extra/httpd-manual.conf #Include /etc/httpd/conf/extra/httpd-dav.conf Include /etc/httpd/conf/extra/httpd-default.conf Include /etc/httpd/conf/extra/httpd-ssl.conf <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> Include /etc/httpd/conf/extra/httpd-rewrite-block.conf Include /etc/httpd/conf/extra/httpd-setenvif-block.conf Include /etc/httpd/conf/extra/httpd-personal.conf Include /etc/httpd/conf/extra/httpd-xoops.conf |
:httpd.confの簡単な説明
| 003 | 接続ポートの指定、デフォルトの80です |
| 004-029 | 動的にコンパイルされたモデュールの設定です 使用するモデュ−ルのみ読み込みます |
| 032 | 各自の設定したユーザー名にします |
| 033 | 各自の設定したグループ名にします |
| 036 | 管理者メールの宛先を設定します(仮の名前です) |
| 037 | 公開するweb名ですnamedサーバーで設定した名前です |
| localで試験的に使う場合はServerName 192.168.0.2のようにIPアドレスで指定します | |
| 038 | DocumentRootの設定です、ウェブから見えるメインのドキュメントツリーになります |
| DocumentRoot は最後のスラッシュ無しで 指定する必要があります | |
| 039-044 | www用ディレクトリ内のデフォルトの設定です、全て否定する事からスタートします |
| 045-054 | ドキュメントルート内の設定です、この場合デフォルトの設定を引き継ぎません |
| 新しく設定したものが有効になります 上位の設定を引き継ぐ場合は+またはーを付けます |
|
| 046 | SymLinksifOwnerMatch シンボリックリンクはオーナーが同じ場合のみ許可 |
| IncludesNoExec SSI内での指定されたシェルスクリプトやCGIを実行させるexecを 無効にします |
|
| 048-050 | 最初に全てのアクセスを許可して、環境変数にマッチするアクセスを禁止します |
| 051-053 | mainfile.phpファイルの表示を拒否します |
| 055-057 | ブラウザで指定がない場合、最初に読み込むファイルです、左から順に探します |
| 058-062 | htで始まるファイルのアクセス制限です .htaccessファイルの表示を拒否します |
| 063 | errorログの出力先を指定します |
| 064 | errorログのレベルを指定します warn以上のログを出力します |
| 065-072 | アクセスログの設定です |
| 066-067 | アクセスログから、長すぎるURI 414エラー (responce-code 414) を除外します |
| 071 | 変数ignorelogに設定されたログをCustumLogから除きます |
| httpd-personal.confで個人的な設定をします | |
| 073-085 | CGIディレクトリの設定です |
| 086 | 拡張子の判断できないファイルの出力タイプです |
| 087-100 | mimeタイプの設定です |
| 098-099 | PHPを使える用にする設定です |
| 101 | MIMEモジュールが提供するMIMEタイプを指定したファイルのパスを指定 |
| 106 | エラーコード403 (ディレクトリのアクセス拒否) のときにhtmlファイルを呼び出す |
| 109-119 | 分割されたコンフィグファイルをinclude指示子で読みこみます |
| 124 | mod_rewriteの設定ファイルをinclude指示子で読みこみます |
| 125 | mod_setenvifの設定ファイルをinclude指示子で読みこみます |
| 126 | 個人的な設定のコンフィグファイルをinclude指示子で読みこみます |
| 127 | xoops用の設定ファイルをinclude指示子で読みこみます |
/etc/httpd/conf/extra/httpd-mpm.conf
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 |
<IfModule !mpm_netware_module>
PidFile "/var/run/httpd.pid"
</IfModule>
<IfModule !mpm_winnt_module> <IfModule !mpm_netware_module> LockFile "/var/log/httpd/accept.lock" </IfModule> </IfModule>
# prefork MPM
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 20
MaxRequestsPerChild 50
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_beos_module>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>
<IfModule mpm_netware_module>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 0
MaxMemFree 100
</IfModule>
<IfModule mpm_mpmt_os2_module>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>
|
:httpd-mpm.confの簡単な説明
| 014 | apache+PHPで1プロセス当たり15〜18M程度消費します |
| apacheの使用できるメモリを想定し、MaxClients値を変更します | |
| 015 | 頻繁に子プロセスを生成しなおしたいため、MaxRequestsPerChild値を小さくしています |
/etc/httpd/conf/extra/httpd-default.conf
001 002 003 004 005 006 007 008 009 010 |
Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 UseCanonicalName Off AccessFileName .htaccess ServerTokens Prod ServerSignature Off HostnameLookups Off TraceEnable off |
:httpd-default.confの簡単な説明
| 007 | error表示に含まれるhttpdのシステム情報の表示を制限します | 008 | サーバが生成するドキュメント(error表示など)のフッタを抑制します |
| 010 | クライアントが送信したリクエストをそのまま返すTraceメソッドを無効にします |
/etc/httpd/conf/extra/httpd-info.conf
001 002 003 004 005 006 007 008 009 010 011 012 |
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.0.3
</Location>
ExtendedStatus On
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
</Location>
|
/etc/httpd/conf/extra/httpd-personal.conf*phpmyadmin、isoqlog、visitorsの設定は省略
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 |
<IfModule setenvif_module>
SetEnvIf Referer 528p\.com link_auth
SetEnvIf Remote_Addr "^(192\.168\.0|127\.0\.0\.1)" locallog ignorelog
SetEnvIf Request_URI "\.(gif|jpe?g|png)$" ignorelog
</IfModule>
<FilesMatch "\.(gif|jpe?g|png)$">
order deny,allow
Deny from all
Allow from env=link_auth
</FilesMatch>
<IfModule log_config_module>
CustomLog "/var/log/httpd/local_log" common env=locallog
</IfModule>
<IfModule alias_module>
Alias /myhome "/home/www/myhome"
Alias /archi "/home/www/myhome/archi"
Alias /hobby "/home/www/myhome/hobby"
Alias /linux "/home/www/myhome/linux"
</IfModule>
<Directory "/home/www/myhome/linux">
Options SymLinksifOwnerMatch IncludesNoExec
AllowOverride None
RewriteEngine On
RewriteBase /linux
RewriteCond %{QUERY_STRING} ^.*\.[A-Za-z0-9].* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\.|\*|;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(md5|union|select|insert|declare|char|set|cast).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(exec|drop|update).* [NC]
RewriteRule ^.*$ - [F,L,E=ignorlog:1]
Order allow,deny
Allow from all
Deny from env=wormlist
</Directory>
<Directory "/home/www/myhome/cgi-bin">
Options ExecCGI
AddHandler cgi-script .cgi .pl
Order deny,allow
Deny from all
Allow from 192.168.0
</Directory>
<IfModule expires_module>
ExpiresActive On
<FilesMatch "\.html?$">
ExpiresDefault "access plus 5 minutes"
</FilesMatch>
<FilesMatch "\.(css|js)$">
ExpiresDefault "access plus 5 minutes"
</FilesMatch>
<FilesMatch "\.(gif|jpe?g|png)$">
ExpiresDefault "access plus 30 minutes"
</FilesMatch>
</IfModule>
<IfModule cache_module>
<IfModule mem_cache_module>
CacheEnable mem /
CacheIgnoreNoLastMod On
CacheIgnoreCacheControl On
MCacheSize 51200
MCacheMaxObjectCount 3000
MCacheMinObjectSize 1
MCacheMaxObjectSize 128000
</IfModule>
</IfModule>
|
:httpd-personal.confの簡単な説明
| 001-005 | 特別な環境変数の設定です |
| 002 | ファイルのリンク先を制限します |
| 003 | localからのアクセスログを分ける |
| 004 | 画像ファイルのログに環境変数 ignorelog を設定します |
| 006-010 | 画像ファイルへのリンク先を制限します |
| 011-013 | カスタムログの設定です |
| 012 | locallogに設定されたログをlocal_logに出力します |
| 014-019 | ディレクトリのalias設定です |
| 020-040 | aliasで設定したディレクトリを制御する設定です |
| 023-029 | rewriteエンジンでQUERYスパムを制御します |
| 動的コンテンツに影響するので静的コンテンツのみ制御しています | |
| 034-040 | プライベートCGIのディレクトリです 指定した拡張子のみ実行するための設定です |
| 041-052 | ユーザの指定した基準に基づいたExpiresとCache-Control HTTP ヘッダの生成 |
| 042 | Expiresヘッダの生成を有効にする |
| 043-051 | FilesMatchを使い、拡張子に応じて有効な時間を設定しています |
| access plus アクセス後の有効期間 | |
| 053-063 | URI をキーにしたコンテンツのキャッシュ (メモリを使用したストレージ管理方式) |
| 055 | メモリを使用したストレージ管理方式でのキャッシュを有効にします |
| カレントディレクトリ (/) | |
| 056 | 応答に Last Modified が無くても気にしないようにします |
| 057 | キャッシュされているコンテンツを返さないよう、クライアントからのリクエストを無視 |
| 058 | キャッシュに使われるメモリの最大量 (Kbytes)(デフォルト100) |
| apacheで使用できるメモリの20%〜40%を目当てとします | |
| 059 | キャッシュに保管されるオブジェクトの最大数 (デフォルト1009) |
| 060 | キャッシュに保管されるドキュメントの最小サイズ (bytes)(デフォルト0) |
| 061 | キャッシュに保管できるドキュメントの最大サイズ (bytes)(デフォルト10000) |
![]() |
Copyright(c) 528p.com All Rights Reserved. |

