httpd.conf ディレクティブ
Last Modified: Tue Dec 27 00:06:02 JST 2011
ここで紹介しているディレクティブは、Apache をインストールしたときにサンプルとしてコピーされる httpd.conf に記述されているものだけを解説している。
すべてのディレクティブは網羅していない。
すべてのディレクティブのリストは、Apache のドキュメントにあるのでそちらを参照してほしい。
Section 1:
- ServerType standalone
Apache をデーモンモードで起動する。
- ServerRoot "/usr/local/apache-1.3.6"
サーバルートディレクトリを指定する。末尾にスラッシュを付けてはならない。
- #LockFile logs/accept.lock
ロックファイル名。
USE_FCNTL_SERIALIZED_ACCEPT または USE_FLOCK_SERIALIZED_ACCEPT がオンのときに有効。
通常はデフォルトのままでよい。
- PidFile logs/httpd.pid
Apache の pid を納めたファイル名。
- ScoreBoardFile logs/apache_runtime_status
スコアボードファイル名。
- #ResoureConfig conf/srm.conf
必要なければ /dev/null にする。
- #AccessConfig conf/access.conf
必要なければ /dev/null にする。
- Timeout 300
タイムアウトまでの時間(秒)。
- KeepAlive On
接続を切らずに保持するよう指定する。
- MaxKeepAliveRequests 100
KeepAlive の最大クライアント数。
- KeepAliveTimeout 15
KeepAlive の保留時間(秒)。
- MinSpareServers 5
- MaxSpareServers 10
待機サーバ起動数。
- StartServers 5
初回起動時のサーバ数。
- MaxClients 150
サーバの最大起動数。
400ぐらいが限度。
- MaxRequestsPerChild 30
子プロセスが受け付けるリクエスト数の上限。
この数のリクエストを受けると、子プロセスはいったん終了する。
メモリリーク対策。
数を増やすとパフォーマンスが上がる。
- #Listen 3000
- #Listen 12.34.56.78:80
指定するアドレスあるいはポートからのリクエストを受け付ける。
- #BindAddress *
指定するアドレスからのリクエストを受け付ける。
指定したいときは Listen を使うこと。
BindAddress は時代遅れ。
- # LoadModule foo_module libexec/mod_foo.so
DSOサポート関連。
Section 2:
- Port 80
指定するポートからのリクエストを受け付ける。
HTTP ポートは普通80番。
- User nobody
- Group #-1
Apache の実効 uid と gid を決定する。
nobody/nogroup よりは、www/www で動作させる方が望ましい。
- ServerAdmin you@your.address
サーバ管理者のメールアドレス。
- #ServerName new.host.name
サーバ名。
ホスト名と異なる場合に使う。
DNS で解決できる名前しか使えない。
- DocumentRoot "/usr/local/apache-1.3.6/htdocs"
サーバルート。
デフォルトのままではバージョンアップのときに面倒なので、変更する方がよい。
- <Directory />
サーバデフォルトのアクセス設定。
- Options FollowSymLinks
シンボリックリンクを許可する。
- AllowOverride None
.htaccess ファイルによるコントロールを許可しない。
- <Directory "/usr/local/apache-1.3.6/htdocs">
ドキュメントルートのアクセス設定。
- Options Indexes FollowSymLinks
インデックス表示とシンボリックリンクを許可する。
- AllowOverride None
.htaccess ファイルによるコントロールを許可しない。
- Order allow,deny
- Allow from all
アクセス許可、不許可の判定順序を設定する。
- UserDir public_html
~user スタイルで指定するユーザディレクトリが対応するディレクトリ名の指定。
DISABLED を指定すると、指定が無効になる。
- #<Directory /*/public_html>
ユーザディレクトリにおける設定を変える場合の指定。
- DirectoryIndex index.html
ディレクトリのデフォルトファイル名を指定する。
- AccessFileName .htaccess
アクセスファイル名を指定する。
- <Files .htaccess>
アクセスファイルの許可、不許可判定順序を設定する。
- #CacheNegotiatedDocs
キャッシュを許可する。
デフォルトではキャッシュ不許可で、プロキシサーバ上にキャッシュが残らない。
- UseCanonicalName On
CGI などが返すサーバ参照名(SERVER_NAMEなど)に別名を使えるようにする。
- TypesConfig conf/mime.types
MIME タイプ定義ファイル名。
- DefaultType text/plain
タイプ不明の形式に対するデフォルトタイプ。
- <IfModule mod_mime_magic.c>
mod_mime_magic はファイルの内容を読んでタイプを決定する機能である。
このディレクティブにより、設定ファイル名を指定する。
- HostnameLookups Off
すべての IP アドレスを逆引きして解決する。
On にすると負荷が大きくなる。
- ErrorLog logs/error_log
エラーログ名を指定する。
- LogLevel warn
ログレベルを決定する。debug、info、notice、warn、error、crit、alert、emerg の各段階がある。
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- LogFormat "%h %l %u %t \"%r\" %>s %b" common
- LogFormat "%{Referer}i -> %U" referer
- LogFormat "%{User-agent}i" agent
ログフォーマットを定義する。combine、common、referer、agent の4種類。
- CustomLog logs/access_log common
ログファイル名とフォーマットを指定する。
- #CustomLog logs/referer_log referer
- #CustomLog logs/agent_log agent
追加で各種ログを取ってもよい。
- ServerSignature On
サーバが生成するページ(404 など)のフッタに表示するサーバのサインの形式を決める。
デフォルトは Off。
On にすると、サインを行う。
EMail にすると、ServerAdmin への mailto: が追加される。
- Alias /icons/ "/usr/local/apache-1.3.6/icons/"
- <Directory "/usr/local/apache-1.3.6/icons">
アイコンディレクトリのエイリアスと設定。
- ScriptAlias /cgi-bin/ "/usr/local/apache-1.3.6/cgi-bin/"
- <Directory "/usr/local/apache-1.3.6/cgi-bin">
CGI ディレクトリのエイリアスと設定。
- IndexOptions FancyIndexing
ファンシーインデックス(アイコンによるファイル表示)を On にする。
- AddIcon...
- DefaultIcon /icons/unknown.gif
インデックス表示のときのアイコン対応表。
- ReadmeName README
- HeaderName HEADER
インデックス表示のときの README ファイルなどの設定。
- IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
インデックス表示のとき、無視すべきファイル名。
- AddEncoding x-compress Z
- AddEncoding x-gzip gz
エンコーダを指定する。
- AddLanguage en .en
言語タイプを指定する。
ja を追加すべき。
- LanguagePriority en fr de
言語タイプの優先順位を指定する。
ja を追加すべき。
- #AddType application/x-httpd-php3 .php3
- #AddType application/x-httpd-php3-source .phps
PHP を使う場合に指定する。
- #AddHandler cgi-script .cgi
CGI ハンドラを指定する。
- #AddType text/html .shtml
- #AddHandler server-parsed .shtml
SSI を指定する。
- #AddHandler send-as-is asis
- #AddHandler type-map var
- #AddHandler imap-file map
その他の様々なハンドラ。
- #MetaDir .web
- #MetaSuffix .meta
ディレクトリのメタ情報を納めたファイル名を指定する。
- #ErrorDocument 500 "The server made a boo boo.
- #ErrorDocument 404 /missing.html
- #ErrorDocument 404 /cgi-bin/missing_handler.pl
- #ErrorDocument 402 http://some.other_server.com/subscription_info.html
サーバ生成メッセージに対応する URL を指定する。
- 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
アプリケーション別 HTTP/1.0 対応強制指定。
- #<Location /server-status>
- #<Location /server-info>
サーバ情報のストアと、ファイルを指定する。
- #<Location /cgi-bin/phf*>
古いセキュリティホールをついてくる奴をひっかける。
- #<IfModule mod_proxy.c>
プロキシ設定。
Section 3:
- #NameVirtualHost 12.34.56.78:80
ネームベースのバーチャルホストを立てる場合に必要。
- #<VirtualHost ip.address.of.host.some_domain.com>
バーチャルホスト設定。
[back to Apache Install]