### セクション1 : グローバルな環境
#
# このセクションのディレクティブはApacheの全体の動作に関わるものです。
# リクエストの並列処理数や設定ファイルの位置などの設定が可能です。
#
#
# ServerRoot:サーバの設定・エラー・ログファイルなどが格納されている
# ディレクトリーツリーのトップです。ここで指定したディレクトリ内に
# Apacheのほとんどのファイルが存在しています。
#
# 注意!もしNFS(もしくは他のネットワーク上の)でマウントしたファイル
# システム上にサーバルートディレクトリを指定したい場合は、LockFile に
# 関する文章を読んでください。以下のURLで参照できるはずです。
# URL:http://httpd.apache.org/docs-2.0/mod/core.html#lockfile
# これにより、色々なトラブルを回避できるはずです。
#
# ディレクトリパスの最後を「/」で終わらせないでください。
#
ServerRoot "/usr/local/apache2"
#
# ロックファイルはローカルのディスクに保存される必要があります。
#
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
#LockFile logs/accept.lock
</IfModule>
</IfModule>
#
# ScoreBoardFile:内部のサーバプロセスに関する情報を保存するために使用す
# るファイルを指定します。もし指定されていない場合は(デフォルトでは指定
# されていません)、スコアボードは共有メモリ領域に保存されます。そのため
# サードパーティが提供するアプリケーションからの利用ができなくなります。
# もし指定されている場合は、同じスコアボードファイルを共有した状態で2つ
# のApacheを起動しないように注意してください。スコアボードファイルもロー
# カルのディスク上に保存される必要があります。
#
<IfModule !mpm_netware.c>
<IfModule !perchild.c>
#ScoreBoardFile logs/apache_runtime_status
</IfModule>
</IfModule>
#
# PidFile:ここで指定したファイルにサーバ起動時のプロセスIDを記録します。
#
<IfModule !mpm_netware.c>
PidFile logs/httpd.pid
</IfModule>
#
# Timeout:クライアントとの通信時のタイムアウト時間を秒数で設定します。
#
Timeout 300
#
# KeepAlive:継続したコネクション(コネクションごとに複数のリクエスト
# がある場合などに使用します)のオン・オフを設定します。Offに設定する
# と無効にすることが可能です。
#
#【補足】
# ユーザがサイトにアクセスする際に、通常は複数のページを閲覧します。
# KeepAliveを有効にしておくと、接続を開いた状態で維持するので再接続
# のオーバヘッドを回避することができます。デフォルトではOnになってい
# ます。
#
KeepAlive On
#
# MaxKeepAliveRequests:継続したコネクションの中での最大許可リクエスト
# 数を設定します。0に設定すると無限にリクエストを送ることが可能となり
# ます。最大のパフォーマンスを引き出すために、この数値を高い状態にして
# おくことをお勧めします。
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout:同じクライアントからの同じコネクション内で次のリ
# クエストが発生するまでのタイムアウト秒数を設定します。
#
KeepAliveTimeout 15
##
## サーバのプールサイズ設定(MPM)
##
# prefork MPM
# StartServers:Apache起動時サーバプロセス数
# MinSpareServers:スペアとして保持されているサーバプロセス数の最小数
# MaxSpareServers:スペアとして保持されているサーバプロセス数の最大数
# MaxClients:起動できるプロセスの最大数。ここで設定する数が処理できる
# 接続数の最大値になります。
# MaxRequestsPerChild:サーバプロセスが処理するリクエストの最大数。
# ここで指定した数の要求を処理すると、自動的にプロセスが消滅します。
# 0は無限に稼動しつづけます。
#
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
# worker MPM
# StartServers:Apache起動時のサーバプロセス数
# MaxClients:クライアントからの最大同時接続数
# MinSpareThreads:スペアとして待機しているスレッドの最小数
# MaxSpareThreads:スペアとして待機しているスレッドの最大数
# ThreadsPerChild:各サーバプロセスがコンスタントに起動するスレッド数
# MaxRequestsPerChild:サーバプロセスが処理するリクエストの最大数。
# ここで指定した数の要求を処理すると、自動的にプロセスが消滅します。
# 0は無限に稼動しつづけます。
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
# perchild MPM
# NumServers:通常時のサーバプロセス数
# StartThreads:各サーバプロセスが初期に起動するプロセス数
# MinSpareThreads:スペアとして待機しているスレッドの最小数
# MaxSpareThreads:スペアとして待機しているスレッドの最大数
# MaxThreadsPerChild:各プロセスが起動するスレッドの最大数
# MaxRequestsPerChild:サーバプロセスが処理するリクエストの最大数。
# ここで指定した数の要求を処理すると、自動的にプロセスが消滅します。
# 0は無限に稼動しつづけます。
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>
# WinNT MPM
# ThreadsPerChild:各サーバプロセスがコンスタントに起動するスレッド数
# MaxRequestsPerChild: サーバプロセスが処理するリクエストの最大数。
# ここで指定した数の要求を処理すると、自動的にプロセスが消滅します。
# 0は無限に稼動しつづけます。
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
# BeOS MPM
# StartThreads:初期に起動するスレッド数
# MaxClients:起動できるスレッドの最大数(1スレッド=1クライアント)
# MaxRequestsPerThread:各スレッドが処理するリクエストの最大数。
<IfModule beos.c>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>
# NetWare MPM
# ThreadStackSize:各スレッドごとに割り当てられるスタックサイズ
# StartThreads:Apacheスタート時に起動するスレッド数
# MinSpareThreads:割り込みリクエストを処理するための待機スレッドの最少数
# MaxSpareThreads:待機スレッドの最大数
# MaxThreads:同時に存在するスレッドの最大数
# MaxRequestsPerChild:スレッドが処理するリクエストの最大数。NetWare
# では、このディレクティブがデフォルトの0に設定されていることを推奨
# します。0の場合、スレッドが限界無くリクエストを処理することが可能
# です。
<IfModule mpm_netware.c>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 0
</IfModule>
#
# Listen:デフォルトの設定に加えて、特定のIPアドレスとポートをApacheで
# 使用できるようにします。VirtualHostディレクティブに関しても参照して
# みてください。
#
# Apacheが設定されているすべてのIPアドレスでリスンする必要が無い場合
# は、以下のように特定のIPアドレスでリスンするように変更しましょう。
#
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) のサポート
#
# DSOとしてビルトされたモジュールの機能を使用できるようにするには、
# LoadModuleディレクティブで、それらが使用される前に呼び出してお
# く必要があります。これはhttpd.conf内での順番が関係ありますので
# 注意してください。スタティックにコンパイルされたモジュールはこ
# こで呼び出す必要ありません(これらのモジュールは「httpd -l」で確認
# 可能です)。
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#
# ExtendedStatus は「server-status」ハンドラが呼び出された際に、完全
# なステータス情報を生成するのか(ExtendedStatus On)、もしくは単に
# 基本情報のみを生成するのかExtendedStatus Off)を制御します。デフォル
# トではOffになっています。
#
#ExtendedStatus On
### セクション2: 主要なサーバ設定
#
# このセクションのディレクティブは、メインのサーバに対して機能する
# 設定になります。つまり、バーチャルホストに対してでないリクエスト時
# に機能します。これらのディレクティブはバーチャルホスト設定時にもデ
# フォルトの値設定に使用されます。これに関しては、このファイルの後の
# 方で設定するようになっています。
#
# これらのディレクティブすべてが、バーチャルホストブロックディレクテ
# ィブ内でも散見されますが、バーチャルホストが定義されているときは
# オーバライドされてしまいます。
#
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
#
# httpdを異なるユーザもしくはグループで稼動させたい場合、最初にrootで
# 起動して該当ユーザとグループにスイッチする必要があります。
#
# User/Group:httpdを動作させたい、ユーザとグループの名前もしくは#に
# 続いてユーザIDで指定する必要があります。
# ・SCO (ODT 3)ではUserディレクティブにnouser、Groupディレクティブに
# nogroupが設定されています。
# ・HPUXではnobodyユーザでは共有メモリを使用できない可能性があります。
# 次善策としてはwwwユーザを作成して使用してください。
#
# 注意!いくつかのカーネルでは、Groupが60000以上の場合にsetgidもしく
# はsemctl使用できない場合があります。このようなシステムでは、
# Group #-1 の設定をそのまま使用しないでください。
#
User nobody
Group #-1
</IfModule>
</IfModule>
#
# ServerAdmin:あなたのアドレスです。サーバに問題があったときの連絡先
# メールアドレスを設定してください。このアドレスはエラーページなどサー
# バが生成したページで表示されます。例)dmin@your-domain.com
#
ServerAdmin you@your.address
#
# ServerNameディレクティブではサーバ自身が使用するサーバ名とポート番号
# を設定します。ここの値を設定しなくても、DNSなどの情報から自動的にサー
# バ名を取得可能な場合があります。しかし、起動時の問題を回避するために
# 明示的に設定することをお勧めします。
#
# もしこの値がホストの正しいDNS上の名前に設定されていない場合、リダイレ
# クトの設定がうまくいきません。UseCanonicalNameディレクティブの内容を
# 参照してみてください。
#
# もしDNSに登録されている名前がない場合は、ここにIPアドレスを設定してお
# いてください。この場合どちらにしても、アクセスするにはIPアドレスを使
# 用しなくてはいけないのですが、こうしておけば一応リダイレクトが動きます。
#
#ServerName new.host.name:80
#
# UseCanonicalName: ApacheのURL・SERVER_NAMEディレクティブ・SERVER_PORT
# ディレクティブの設定値を使った自己参照の挙動を決めます。もし、Offにな
# っている場合は、Apacheはクライアントからのホスト名やポート名をそのまま
# 使用します。Onになっている場合は、ServerNameディレクティブの値を使いま
# す。デフォルトではOffになっています。
#
UseCanonicalName Off
#
# DocumentRoot: ドキュメントを設置するディレクトリです。デフォルトでは
# すべてのリクエストが、このディレクトリから取り出されます。しかし、シ
# ンボリックやエリアスを使えば他の階層のディレクトリにアクセスさせるこ
# とが可能です。
#
DocumentRoot "/usr/local/apache2/htdocs"
#
# Apacheのアクセスできる各ディレクトリ(もしくはサブディレクトリ)は、
# サービスや機能ごとに有効にしたり、無効にしたりすることによって制御
# することが可能です。
#
# 最初、デフォルトとして非常に限定された形で設定を行っておきます。
# 以下は、サーバルートディレクトリに対する設定ですがシンボリックリン
# クのみ許可する設定となっています。この設定は各サブディレクトリにも
# 反映されます。
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#
# 何か機能を有効にしたにも関わらず、思ったように動作しない場合は、こ
# こより下部でちゃんと有効にしていることを確認してみてください。
#
#
# ここは、ドキュメントルートディレクトリに対する設定です。DocumentRoot
# に設定したパスが指定されるべきです。
#
<Directory "/usr/local/apache2/htdocs">
#
# Optionsディレクティブに設定可能な値は、「None」もしくは「All」または
# 以下の選択肢の組み合わせになります。
#
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI Multiviews
#
# MultiViewsは明示的に設定する必要があります。「Options All」としても
# MultiViewsは有効になりません。
#
# Optionsディレクティブは複雑かつ重要です。詳細は以下のURLを参照してください。
# http://httpd.apache.org/docs-2.0/mod/core.html#options
#
Options Indexes FollowSymLinks
#
# AllowOverrideディレクティブは.htaccessファイルを有効にするためのディレクテ
# ィブです。「All」または「None」もしくは、以下の選択肢の組み合わせになります。
#
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# このサーバからデータを取得できるユーザを制御します。
#
Order allow,deny
Allow from all
</Directory>
#
# UserDir:各ユーザのホームディレクトリに付加される、ホームページ用ディレクトリ
# 名前を設定します。~userでアクセスがあった場合に、ここで設定したディレクトリに
# 飛ばします。
#
UserDir public_html
#
# UserDirディレクティブで設定したディレクトリに対する制御です。以下は
# 読み出しのみ可能なように制限した状態にするための設定例です。
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>
#
# DirectoryIndex:このディレクティブでは、ディレクトリに対してアクセスが
# きた場合に、Apahceが処理するファイル名を指定します。
#
# index.html.var というファイルが、マッチングして表示されるようになって
# います。MultiViews オプションも同じように使われますが、より処理速度が
# 遅くなっています。
#
DirectoryIndex index.html index.html.var
#
# AccessFileName:各ディレクトリ内でアクセスコントロール用の情報を記録
# するためのファイル名を指定します。AllowOverride ディレクティブも参照
# してみてください。
#
AccessFileName .htaccess
#
# 以下で、.htaccess や .htpasswd がクライアントから閲覧されることを防ぎ
# ます。
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
#
# TypesConfig ディレクティブは、mime.typesファイル(もしくは同等のファイル)
# がどこにあるか指定します。
#
TypesConfig conf/mime.types
#
# DefaultType ディレクティブはサーバがデフォルトで扱うMIMEタイプを指定する
# ことが可能です。これはファイル名の拡張子で、ファイルタイプを決定できなか
# った場合などに使われます。もしサーバ上にテキストファイルもしくはHTML
# ファイルがほとんであれば、「text/plain」を指定しておくのが良いでしょう。
# ほとんどのコンテンツがアプリケーションファイルやイメージファイルなどのよ
# うにバイナリ−データの場合は、「application/octet-stream」にしておけばブ
# ラウザ無駄にテキストとしてファイルの表示を試みなくさせることが可能となり
# ます。
#
DefaultType text/plain
#
# mod_mime_magic モジュールはサーバがファイル自身の中身からそのファイル
# タイプを決定するのに役立ちます。MIMEMagicFileディレクティブはモジュー
# ルで使用される定義ファイルの位置を指定します。
#
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
#
# HostnameLookups:ログは、ホスト名でも単にIPアドレスでもどちらでも記
# 録可能です。例えば以下のような感じです。
# 例) www.apache.org (on) もしくは 204.62.129.132 (off).
# デフォルトではoffになっており、IPアドレスのみ記録します。というのも
# もし、この機能がonになっていると、アクセスがある度にIPアドレスから
# の逆引きが行われ、ネット全体に不必要なトラフィック付加がかかる可能性
# があるからです。
#
HostnameLookups Off
#
# ErrorLog: エラーログファイルの位置を指定します。
# バーチャルホストを運用している場合で、VirtualHostブロックディレクテ
# ィブ内で別途専用のエラーログファイルを指定しなかった場合は、バーチ
# ャルホストでのエラーもこのファイルに記録されます。エラーログファイル
# を別途指定しておくと、ここには記録されずに別途指定したファイルに記録
# されるようになります。
#
ErrorLog logs/error_log
#
# LogLevel:エラーログに記録されるログのレベルを設定します。選択肢と
# しては以下のようなものがあります。
# debug, info, notice, warn, error, crit, alert, emerg
#
LogLevel warn
#
# 以下のディレクティブはCustomLog ディレクティブ(次を参照してください)
# で使用するログフォーマットをニックネームで設定します。
#
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
#
# アクセスログファイルの位置とフォーマットを設定します。
# VirtualHostブロックディレクティブ内でこのディレクティブを設定してい
# ない場合は、バーチャルホストへのアクセスもこのファイルに記録されます。
# VirtualHostブロックディレクティブ内にCustomLog ディレクティブを設定す
# るとバーチャルホストごとに個別のログを取ることが可能です。
#
CustomLog logs/access_log common
#
# 別途、agent や referer 用のログファイルを作成したければ以下をコメント
# アウトすれば結構です。
#
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
#
# もし、すべてに関して一つのアクセスログファイルに記録したい場合は以下の
# ようにすれば、access・agent・refererすべてが一つのファイルに記録されま
# す。
#
#CustomLog logs/access_log combined
#
# サーバのバージョンやバーチャルホスト名をサーバ生成ページに出力すること
# が可能です。(エラーページや、FTPディレクトリ一覧、モジュールステー
# タス、モジュール情報の出力等 ただCGIが出力するページには表示されま
# せん)値にEMailを指定すると、サーバ管理者へのmailto:リンクも表示される
# ようになります。On、Off、EMailのどれかを設定することが可能です。
#
ServerSignature On
#
# Aliases:必要なだけのエリアスをこのディレクティブを使って設定することが可能
# です。特に制限はありません。記述方法は以下の通りです。
# Alias 別名 本当のパス
#
# 注意、別名の最後に「/」をつけると、URL内でも「/」が必要となります。そのため
# 「/icons」ではうまくエリアスされません。「/icons/」にする必要があります。も
# し別名で「/」で終わっている場合は、本当のパスでも「/」で終わる必要があります。
# 逆に、「/」が省略されている場合は、本当のパスでも「/」を省略する必要がありま
# す。
#
# ここでは/icons/のエリアスをFancyIndexedディレクトリリスト用に作成しています。
# FancyIndexedを使用しない場合は、コメントアウトしておいてください。
#
Alias /icons/ "/usr/local/apache2/icons/"
<Directory "/usr/local/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#
# 以下で、ServerRoot/manual のエリアスを作成しています。もし、ドキュメントルート
# を移動させた場合でも、このエリアスはマニュアルページ用になります。もしマニュア
# ルが不必要な場合は、コメントアウトしてください。
#
Alias /manual "/usr/local/apache2/manual"
<Directory "/usr/local/apache2/manual">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#
# ScriptAlias:このディレクティブで、サーバスクリプトを保存するディレクトリを指定
# します。ScriptAliasesは根本的にはAliasesと同じものです。ただ、ScriptAliasesで指
# 定したディレクトリに関しては、クライアントからのアクセス時にドキュメントとして
# ではなく、アプリケーションとしてサーバによって実行されその結果が返されます。
# Aliasディレクティブと同じように、「/」に関するルールは適用されますので注意して
# ください。
#
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
<IfModule mod_cgid.c>
#
# 追加で、mod_cgid.c の設定。Scriptsock パス で、UNIXのソケットを使ってcgidと通信
# が可能となります。
#
#Scriptsock logs/cgisock
</IfModule>
#
# 「/usr/local/apache2/cgi-bin」は、CGIが置かれているディレクトリに変更する必要が
# あります。
#
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#
# リダイレクトの機能を使うと、以前はサーバ上にあったドキュメントが移転して他の場
# 所存在している場合などに、アクセスを転送することが可能です。
# 以下の例のようにRedirect ディレクティブを使って設定します。
# 例)Redirect permanent /foo http://www.example.com/bar
#
# 以下のディレクティブで、サーバが生成するディレクトリリストのコントロールを行うことが
# 可能です。
#
#
# FancyIndexing で標準のディレクトリ内のインデックスを表示するのか、もしくはアイ
# コンを使って装飾されたインデックスを表示するのかを選択できます。VersionSort は
# ファイルのバージョンNoによってソートする機能です。そのため、「apache-1.3.9.tar」
# は「apache-1.3.12.tar」より前に表示されます。
#
IndexOptions FancyIndexing VersionSort
#
# AddIcon* ディレクティブはどのアイコンをどの拡張子のファイルがあった場合に使用
# するのかを関連付けるためのものです。アイコンが使用されるのは FancyIndexed が
# 適用されているディレクトリのみです。
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
#
# DefaultIcon は適当なアイコンが存在しないときに表示する、デフォルトのアイコン
# を設定するためのディレクティブです。
#
DefaultIcon /icons/unknown.gif
#
# 生成されたインデックスページにて、簡単なファイルタイプに対する説明を入れるた
# めのディレクティブです。これも同じくFancyIndexedが適用されているディレクトリ
# のみで有効です。
# 構文: AddDescription "説明" 拡張子
#
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz
#
# ReadmeName ディレクティブはデフォルトで探すREADMEファイルの名前を指定します。
#
# HeaderName ディレクティブは、ディレクトリインデックスに付加されるファイル名
# を指定します。
#
ReadmeName README.html
HeaderName HEADER.html
#
# IndexIgnore ディレクティブはインデックス作成時に表示しないディレクトリのファ
# イル名を指定します。シェルのワイルドカードを使用することが可能です。
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#
# AddEncoding ディレクティブは特定のブラウザに対して圧縮ファイルを解凍するた
# めの情報を与えます。注意!:すべてのブラウザがこれに対応しているわけではあ
# りません。名前は似ていますが、以下のAdd*というディレクティブは、上にある
# FancyIndexing のカスタマイズディレクティブ群とは関係ありません。
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
#
# DefaultLanguage ディレクティブとAddLanguage ディレクティブはドキュメントの
# 言語を指定することが可能です。これによって、ユーザが使用しいてる言語にあわ
# せてホームページを表示することが可能となります。
#
# 特定の言語をデフォルトとして設定してください。これは特定の言語タグがない場
# 合に、ここで指定したデフォルト言語として相手側ブラウザにデータが送られます。
# すべてのユーザにとってそれが、ベストと思えない場合は設定したくない可能性も
# あります。
#
# *一般的には、間違った言語として通知されるよりも、何も通知されない方が正しく
# *ホームページが表示されます。
#
# DefaultLanguage nl
#
# 注意 1: 拡張子は言語のキーワードと同じである必要はありません。例えばポー
# ランド語で書かれている文章であれば、(ネットワーク上で使われているポーラ
# ンド語コードはplが標準です)「AddLanguage pl .po」と設定してもかまいませ
# ん。これは、perlの一般的な拡張子であるplとの混同をさけるための処置であっ
# たりします。
#
# 注意 2: ケースによっては「Language」の省略形と「Country」の省略形一致し
# ない場合があります。例)「Danmark/dk」 に対して 「Danish/da」
#
# 注意 3: 「ltz」の場合は、RFCに背いて3つの文字を使用しています。これ
# は現段階では修正と、rfc1766用の参照データを得るたの作業が進められていま
# す。
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (et)
# French (fr) - German (de) - Greek-Modern (el)
# Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (kr)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru) - Croatian (hr)
#
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage he .he
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage kr .kr
AddLanguage pt .pt
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddLanguage hr .hr
#
# LanguagePriority ディレクティブは、2つ言語間で同じ優先度があった場合に
# どちらをより優先するかを設定します。
#
# 優先度の高い順に言語をリストすれば結構です。多かれ少なかれ試行的にこの
# リスト作成しています。もしかしたら、変更したい場合もあるかもしれません。
#
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw
#
# ForceLanguagePriority ディレクティブは該当する言語がない場合に、選択肢を
# 返すのか、アクセス拒否を返すのかの優先度を設定します。選択肢を返す場合は
# Prefer、アクセス拒否を返す場合はFallbackになります。
#
ForceLanguagePriority Prefer Fallback
#
# 表示されるページのデフォルトの文字コードを設定します。これは非常に良い考
# えで、将来的なサイトの国際化の際にも役に立ちます。デフォルトの文字コード
# を設定することは、ほとんど面倒なことではありません。特に設定していなけれ
# ばiso-8859-1 (latin1)に設定されているはずです。また、javascriptやURL解析
# に関連するセキュリティー上の問題からも、デフォルトの文字コードを設定する
# ことが望ましいです。
#
AddDefaultCharset ISO-8859-1
#
# 一般的に、拡張子が文字コードをセットするために使用されます。設定変更後に
# 注意深くテストすることが得意でなければ、言語拡張子がうまく動作しないこと
# を避けたいと思うでしょう。詳細は以下の公式文字コードリストと各々のRFC
# を参照してください。
#
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
# 以下のマッピングは特定の表順には従っていません。しかし、多くのブラウザで
# 正しく動作します。大文字・小文字の違いは厳密には問題になりますが、いくつ
# かブラウザではどちらでも動作したりします。ただ、問題を避けるために大文字
# ・小文字はしっかり分けて記述してください。
#
# 詳細は以下のURLを参照してください。
# ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets
# ソートされたリストが掲載されています。ただサポートされているブラウザは少
# ないです。
#
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
#
# AddType ディレクティブはmime.types に追加もしくは上書きして設定を行うこと
# が可能です。
#
AddType application/x-tar .tgz
#
# AddHandler ディレクティブは特定のファイル拡張子とハンドラをマッピングする
# ために使います。ファイルタイプに関係なくアクションを起こさせることが可能
# です。これらは、サーバにビルトインすることも可能ですし、Action ディレクテ
# ィブで追加することも可能です。
#
# 以下はCGI をスクリプトエリアスとして設定されているディレクトリ外で使用す
# るためのディレクティブです。
# (ディレクトリのOptionsディレクティブにExecCGIオプションを追加する必要が
# あります。)
#
#AddHandler cgi-script .cgi
#
# ファイル自身のHTTPヘッダをインクルードするファイルに使用します。
#
#AddHandler send-as-is asis
#
#
# サーバが解析するイメージマップファイル
#
#AddHandler imap-file map
#
# タイプマッピングのためのハンドラ:
# (このハンドラは、Apacheに「It Worked」ページを表示させるためデ
# フォルトで有効になっています。)
#
AddHandler type-map var
# Filtersディレクティブは、クライアントにデータが送られる前に処理を
# 行うことが可能です。
#
# .shtmlという拡張子のファイルはSSIとして解析されます。
# (SSIを使用する場合は、そのディレクトリのOptionsディレクティブに
# 「Includes」オプションを追加する必要があります。)
#
#AddOutputFilter INCLUDES .shtml
#
# Action ディレクティブはマッチするファイルが呼び出された際の、実行する
# スクリプトのメディアタイプを定義します。これにより、頻繁に使用される
# CGIファイルに対する、URLの反芻を無くすことが可能です。
# 構文: Action media/type /cgi-script/location
# 構文: Action handler-name /cgi-script/location
#
#
# カスタマイズされた3種類のエラーレスポンス:
# 1)テキスト文章 2)ロカール内でのりダイレクト 3)外部へのリダイレクト
#
# 設定例:
#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
#
#
# これらを一緒に設定することで、初期のエラーレスポンスを設定することが可能
# です。
#
# /error/HTTP_<error>.html.varのエラーレスポンスを特定のマルチ言語対応のエ
# ラーメッセージにエリアスを使用することでリダイレクト可能です。適当な代替
# 用テキストをインクルードしています。
#
# 以下のラインを有効にすることでデフォルトの、HTTP_<error>.html.varファイル
# を変更することなく、表示されるメッセージを変更することが可能です。
#
# Alias /error/include/ "/your/include/path/"
#
# これは、エラーメッセージのファイルセットを独自に作成できることを意味しま
# す。その際には、/usr/local/apache2/error/include/ でスタートして、それら
# をインクルードするパスにコピーしてください。これはバーチャルホストの場合
# でも基本的に同じです。
#
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
Alias /error/ "/usr/local/apache2/error/"
<Directory "/usr/local/apache2/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>
#
# 以下のディレクティブは、普通のHTTPレスポンスを、ブラウザの実装に
# おける既知の問題を扱うために使用します。
#
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
#
# 次のディレクティブは、GETメソッドではなく、かつスラッシュで終わってい
# ないディレクトリに対するアクセスのリダイレクトを無効にします。これは
# Microsoft WebFoldersが適切なリダイレクトをDAVメソッドでのフォルダー
# アクセス時に行わないという問題に対する回避方法となります。
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
#
# サーバのステータスレポートに以下のURLでアクセスできるようにします。
# http://servername/server-status
# 「.your-domain.com」を適当なドメインに変更してください。
#
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .your-domain.com
#</Location>
#
# サーバ設定レポートをリモートで見せることが可能です。以下のURLで閲覧可能
# です。 http://servername/server-info(事前にmod_info.cがロードされている必
# 要があります。)
# 「.your-domain.com」を適当なドメインに変更してください。
#
#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .your-domain.com
#</Location>
#
# プロキシサーバ用のディレクティブです。プロキシサーバを有効にしたい場合は
# 以下をコメントアウトしてください。
#
#<IfModule mod_proxy.c>
#ProxyRequests On
#
#<Proxy *>
# Order deny,allow
# Deny from all
# Allow from .your-domain.com
#</Proxy>
#
# ViaヘッダでのHTTP/1.1の扱いを有効/無効にします。
# (「Full」はサーバのバージョンを追加します。「Block」はヘッダによる情報を
# ブロックします。)
# 次の選択肢から設定可能です。Off、On、Full、Block。
#
#ProxyVia On
#
# キャッシュ機能を有効にしたい場合は、以下のラインをコメントアウトして編集
# してください。
# (CacheRootが無ければキャッシュされません)
#
#CacheRoot "/usr/local/apache2/proxy"
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a-domain.com another-domain.edu joes.garage-sale.com
#</IfModule>
# proxy ディレクティブの終わりです。
#
# 追加モジュールの設定
#
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
### セクション 3: バーチャルホスト
#
# VirtualHost: 複数のドメインやホスト名で一つのマシン上でWebサイトを運用
# したい場合にこのディレクティブを使用します。ほとんどの設定では名前ベース
# のバーチャルホストが使用されることが多くなっています。これは、IPアドレス
# のことを気にする必要が無いからです。これは、以下のディレクティブにアスタ
# リスクを設定することにより使用可能です。
#
# 詳細は以下のURLのドキュメントを参照してください。
#
# URL:http://httpd.apache.org/docs-2.0/vhosts/
#
# コマンドラインオプションで「-S」を指定すると、バーチャルホストの設定を
# 確認することが可能です。
#
# 名前ベースのバーチャルホストを有効にする場合に使用します。
#
#NameVirtualHost *
#
# バーチャルホスト設定例:
# ほとんどのApacheのディレクティブがバーチャルホストコンテナの中に設定
# 可能です。最初のバーチャルホストのセクションではサーバ名でないアクセ
# スに対する設定になります。
#
#<VirtualHost *>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>