サーバー名、管理者のメールアドレス、使えるアドレスを指定したら、仮想ホストタブをクリックし、デフォルト設定の編集ボタンをクリックします。図19-3のようなウィンドウが表示されます。このウィンドウでWebサーバーのデフォルト設定値を設定します。仮想ホストを追加した場合は、その仮想ホスト用に設定した設定値が優先されます。仮想ホストの設定値内に定義されていないディレクティブの場合は、デフォルト値が使用されます。
ディレクトリページの検索リストとエラーページのデフォルト値で殆どのサーバは十分に動作します。これらの設定値がはっきりわからない場合は、変更しないでください。
ディレクトリページの検索リストのエントリの一覧は、DirectoryIndexディレクティブを定義します。DirectoryIndexは、ユーザーがディレクトリ名の最後にスラッシュ(/)を指定して、ディレクトリのインデックスを要求したときに、サーバーによって表示されるデフォルトページです。
たとえば、ユーザーがhttp://www.example.com/this_directory/ページを 要求すると、存在する場合はDirectoryIndexに指定されたページが、それ以外はサーバーが生成した ディレクトリ一覧が表示されます。サーバーは、DirectoryIndexディレクティブに一覧されているいずれかの ファイルの検索を試み、最初に見つかったファイルを返します。 ファイルが見つからず、そのディレクトリにOptions Indexesが設定されている場合は、サーバーはディレクトリ内の サブディレクトリとファイルの一覧をHTML形式で生成して返します。
エラーコードセクションでは、問題やエラーが発生したときにクライアントをローカルURLまたは外部URLへリダイレクトするように、Apache HTTP サーバーを設定できます。オプションは、ErrorDocumentディレクティブに相当します。クライアントがApache HTTP サーバーへ接続しようしている時に、問題やエラーが発生した場合に、、デフォルトアクションとして、エラーコード列に示すような簡潔なエラーメッセージが表示されます。このデフォルト設定を上書きするには、変更したいエラーコードをクリックして選択し、編集ボタンをクリックします。デフォルトの簡潔なエラーメッセージを表示するため、デフォルトを選択します。URLを選択すると、クライアントは外部URLへリダイレクトされます。リダイレクト先として、場所フィールドにhttp://を含む完全なURLを入力します。ファイルを選択すると、クライアントは内部URLへリダイレクトされ、ファイルの保存場所をWebサーバーのドキュメントルートに置きます。場所を指定する場合は、スラッシュ(/)で開始し、Document Rootからの相対位置を指定します。
例えば、404 Not Foundエラーコードが発生した時に、404.htmlという名前のファイル内のユーザーが 作成したWebページへリダイレクトする場合は、404.htmlをDocumentRoot /errors/404.htmlにコピーします。この場合、DocumentRootは、 定義したDocument Rootディレクトリです(デフォルトは、/var/www/html)。次に、 404 - Not Foundエラーコードが発生したときの動作(Behavior)としてファイルを 選択し、場所として/errors/404.htmlを入力します。
デフォルトのエラーページフッタメニューから、次のいずれかのオプションを選択できます:
フッタにメールアドレスを追加 —すべてのエラーページの下部に、デフォルトのフッターと、ServerAdminディレクティブで 指定したWebサイト管理者の電子メールアドレスを表示します。ServerAdminディレクティブの設定については、項19.3.1.1を参照してください。
フッタを表示 — エラーページの下部に、デフォルトのフッターだけを表示します。
フッタなし —エラーページの下部にフッターを表示しません。
デフォルトでは、サーバは/var/log/httpd/access_logファイルに転送ログを書き込み、 /var/log/httpd/error_logファイルにエラーログを書き込みます。
Transfer Log(転送ログ)は、Webサーバーへのすべてのアクセス試行の一覧です。ログには、接続を試みたクライアントのIPアドレス、試行日時、検索対象となったWebサーバー上のファイルが記録されます。この情報の格納先となるパスとファイルの名前を入力します。パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定されたServerRootディレクトリからの相対パスとみなされます。このオプションは、TransferLogディレクティブに相当します。
カスタムログを利用をチェックし、カスタムログ文字列フィールドにカスタムログ文字列を入力すると、カスタムログ形式を設定できます。これによって、LogFormatディレクティブが設定されます。このディレクティブの形式については、 http://httpd.apache.org/docs-2.0/mod/mod_log_config.html#formatsを参照してください。
エラーログには、発生したサーバエラーすべての一覧が含まれます。この情報の格納先のパスとファイル名を入力します。 パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定されたServerRootディレクトリからの相対パスとみなされます。 このオプションは、ErrorLogディレクティブに 相当します。
ログレベルメニューを使って、エラーログにどの程度詳細にエラーメッセージを記録するかを設定できます。 (最も簡潔なレベルから最も詳細なレベルへの順)emerg、alert、crit、error、warn、notice、info、debugのいずれかを設定できます。 このオプションは、LogLevelディレクティブに相当します。
DNSの逆引きメニューで選択した値によって、HostnameLookups ディレクティブが定義されます。逆引きなしを選択すると、値はOffに設定されます。 逆引きを選択すると、値はOnに設定されます。二重の逆引きを選択すると、 値はDoubleに設定されます。
逆引きを選択した場合は、サーバーが自動的に、Webサーバーからのドキュメントを要求する各接続のIPアドレスを解決します。IPアドレスの解決とは、サーバーがDNSへ複数の接続を確立して特定のIPアドレスに相当するホスト名を検出することです。
二重の逆引きを選択すると、サーバーはDNSの二重逆引きを実行します。つまり、逆引きを実行した後に、その結果に基づいて正引きを実行します。正引き時には、少なくとも1つのIPアドレスが、最初に逆引きしたアドレスに合致しなければいけません。
DNS要求はサーバーの負荷を高めパフォーマンスを低下させるため、通常、このオプションは逆引きしないに設定したままにしておきます。サーバーの負荷が高い場合に、このような逆引きや二重逆引きを実行しようとすると、その影響はかなり顕著に現れます。
逆引きと二重逆引きも、インターネット全体から見ると問題の1つです。個々の接続が各ホスト名をルックアップすると負荷は増大します。個々のWebサーバーの利益は、インターネット全体の利益につながります。したがって、このオプションは、逆引きしないに設定しておくのがよいでしょう。
時には、CGIスクリプト、又はサーバサイドインクルード(SSI)ページの為に環境変数を 変更する必要があります。Apache HTTP サーバーは、 mod_envモジュールを使用して、 CGIスクリプトやSSIページへ渡す環境変数を設定できます。環境変数ページを 使用すると、このモジュールのディレクティブを設定できます。
CGIスクリプトのために設定セクションで、CGIスクリプトやSSIページに渡す環境変数を設定します。 たとえば、環境変数MAXNUMを50に設定するには、 図19-5に示すようにCGIスクリプトのために設定 セクションの追加ボタンをクリックし、環境変数テキストボックスに MAXNUM、及び設定する値テキストボックスに50と入力します。 OKボタンをクリックして一覧に追加します。CGIスクリプトのために設定セクションが、 SetEnvディレクティブを設定します。
CGIスクリプトに渡すセクションを使用して、サーバが最初に起動した時に環境変数の値をCGIスクリプトに渡すように 設定できます。環境変数を確認するには、シェルプロンプトでコマンドenvを入力します。 CGIスクリプトに渡すセクション内の追加ボタンをクリックして、出て来るダイアログボックスに 環境変数の名前を入力します。OKボタンをクリックします。CGIスクリプトに渡すセクションが PassEnv ディレクティブを設定します。
CGIスクリプトやSSIページへ値を渡さないようにするため環境変数を削除したい場合は、CGIスクリプトのために解除 セクションを使用します。CGIスクリプトのために解除セクションの追加ボタンをクリックし、 設定解除する環境変数の名前を入力します。これは、UnsetEnvディレクティブに相当します。
これらの環境変数のいずれかを編集するには、それを一覧から選択して、対応する編集ボタンを クリックします。一覧からエントリのいずれかを削除するには、それを選択して、対応する削除ボタンを クリックします。
Apache HTTP サーバー内の環境変数についてのさらなる情報は、以下のサイトで御覧下さい:
http://httpd.apache.org/docs-2.0/env.html |
ディレクトリページを使って、特定のディレクトリのオプションを設定できます。これは、<Directory>ディレクティブに相当します。
右上の編集ボタンをクリックすると、その下のディレクトリ 一覧に指定されているものを除くすべてのディレクトリのデフォルトのディレクトリオプション を設定できます。選択したオプションは、 <Directory>ディレクティブ内の Options ディレクティブとして一覧表示されます。以下のオプションを設定できます:
ExecCGI —CGIスクリプトを実行できます。このオプションが選択されていないと、CGIスクリプトは実行されません。
FollowSymLinks —シンボリックリンクに従います。
Includes —サーバーサイドインクルードを許可します。
IncludesNOEXEC —サーバーサイドインクルードを許可しますが、CGIスクリプト内の#execコマンドと#includeコマンドは使用できません。
Indexes —DirectoryIndex(index.htmlなど)が要求されたディレクトリに存在しない場合、ディレクトリの内容を書式設定した一覧で表示します。
Multiviews —コンテンツネゴシエート型のマルチビューをサポートします。このオプションはデフォルトでは無効です。
SymLinksIfOwnerMatch —ターゲットファイルやディレクトリの所有者がリンクの所有者と同じ場合にだけ、シンボリックリンクに従います。
特定のディレクトリのオプションを指定するには、ディレクトリ一覧ボックスの横にある 追加ボタンをクリックします。図19-7のウィンドウが表示されます。ウィンドウ下部のディレクトリ テキストフィールドに設定対象のディレクトリを入力します。右側の一覧でオプションを選択し、左側のオプションを使ってOrderディレクティブを 設定します。Orderディレクティブは、許可ディレクティブまたは拒否ディレクティブを評価する順序を指定します。 このホストを許可テキストフィールドとこのホストを拒否では、次のいずれかを指定できます:
すべてのホストを許可—allと入力すると、すべてのホストへのアクセスを許可
ドメイン名の一部—指定の文字列に一致する名前、または末尾がその文字列に一致する名前を持つすべてのホストを許可
完全なIPアドレス—特定のIPアドレスへのアクセスを許可
サブネット—192.168.1.0/255.255.255.0など
ネットワークのCIDR指定—10.3.0.0/16など
ディレクトリオプションより.htaccessを優先するをチェックすると、.htaccessファイル内の設定ディレクティブが優先されます。