サーバー名、Webマスターの電子メールアドレス、使用可能なアドレスを定義したら、仮想ホストタブをクリックし、さらにデフォルト設定の編集ボタンをクリックします。図14-3のようなウィンドウが表示されます。このウィンドウでWebサーバーのデフォルト設定値を設定します。仮想ホストを追加した場合は、その仮想ホスト用に設定した設定値が優先されます。仮想ホストの設定値内に定義されていないディレクティブの場合は、デフォルト値が使用されます。
サイトの設定をします。通常のサーバーでは、ディレクトリページの検索リストとエラーページはデフォルト値で十分に動作します。これらの設定値がはっきりわからない場合は、変更しないでください。
ディレクトリページの検索リストに一覧されたエントリは、DirectoryIndexディレクティブを定義します。DirectoryIndexは、ユーザーがディレクトリの最後にスラッシュ(/)を指定して、ディレクトリのインデックスを要求したときに、サーバーによって表示されるデフォルトページです。
たとえば、ユーザーがhttp://your_domain/this_directory/ページを要求すると、存在する場合はDirectoryIndexに指定されたページが、それ以外の場合はサーバーが生成したディレクトリ一覧が表示されます。サーバーは、DirectoryIndexディレクティブに一覧されたいずれかのファイルの検索を試み、最初に見つかったファイルを返します。ファイルが見つからず、そのディレクトリにOptions Indexesが設定されている場合は、サーバーはディレクトリ内のサブディレクトリとファイルの一覧をHTML形式で生成し、その一覧を返します。
エラーページセクションでは、問題やエラーが発生したときにクライアントをローカルURLまたは外部URLへリダイレクトするように、Apacheを設定できます。このオプションは、ErrorDocumentディレクティブに相当します。問題やエラーが発生した場合に、クライアントがApache Webサーバーへ接続しようとすると、デフォルトアクションとして、エラーコード列に示すような簡潔なエラーメッセージが表示されます。このデフォルト設定を上書きするには、変更したいエラーコードをクリックして選択し、編集ボタンをクリックします。デフォルトの簡潔なエラーメッセージを表示するため、デフォルトを選択します。URLを選択すると、クライアントは外部URLへリダイレクトされます。リダイレクト先として、場所フィールドにhttp://を含む完全なURLを入力します。ファイルを選択すると、クライアントは内部URLへリダイレクトされます。リダイレクト先のファイルをWebサーバーのDocument Rootに配置します。場所を指定する場合は、スラッシュ(/)で開始し、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を入力します。
デフォルトのエラーページフッタメニューから、次のいずれかのオプションを選択できます。
フッタにメールアドレスを追加—すべてのエラーページの下部に、デフォルトのApacheフッターと、ServerAdminディレクティブが指定するWebサイト管理者の電子メールアドレスを表示します。ServerAdminディレクティブの設定については、一般のオプション項を参照してください。
フッタを表示—エラーページの下部に、デフォルトのApacheフッターだけを表示します。
フッタなし—エラーページの下部にフッターを表示しません。
デフォルトでは、Apacheは/var/log/httpd/access_logファイルに転送ログを書き込み、/var/log/httpd/error_logファイルにエラーログを書き込みます。
Transfer Log(転送ログ)は、Webサーバーへのすべてのアクセス試行の一覧です。ログには、接続を試みたクライアントのIPアドレス、試行日時、検索対象となったWebサーバー上のファイルが記録されます。この情報の格納先となるパスとファイルの名前を入力します。パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定されたServerRootディレクトリからの相対パスと見なされます。このオプションは、TransferLogディレクティブに相当します。
カスタムログを利用をチェックし、カスタムログ文字列フィールドにカスタムログ文字列を入力すると、カスタムログ形式を設定できます。これによって、LogFormatディレクティブが設定されます。このディレクティブの形式については、 http://httpd.apache.org/docs/mod/mod_log_config.html#formatsを参照してください。
Error Log(エラーログ)は、発生したすべてのサーバーエラーの一覧です。この情報の格納先となるパスとファイルの名前を入力します。パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定された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サーバーの利益は、インターネット全体の利益につながります。したがって、このオプションは、逆引きなしに設定しておくのがよいでしょう。
環境変数を設定します。Apacheは、mod_envモジュールを使用して、CGIスクリプトやSSIページへ渡す環境変数を設定できます。環境変数ページを使用すると、このApacheモジュールのディレクティブを設定できます。
CGIスクリプトのために設定セクションで、CGIスクリプトやSSIページに渡す環境変数を設定します。たとえば、環境変数MAXNUMを50に設定するには、環境変数項に示すようにCGIスクリプトのために設定セクションの追加ボタンをクリックし、環境変数にMAXNUM、設定する値に50と入力してOKボタンをクリックします。CGIスクリプトのために設定セクションは、SetEnvディレクティブを設定します。
CGIスクリプトに渡すセクションを指定すると、Apacheが最初にCGIスクリプトを起動したときに環境変数の値を渡すことができます。この環境変数を確認するには、シェルプロンプトでenvコマンドを入力します。値を設定するにはCGIスクリプトに渡すセクションの追加ボタンをクリックし、ダイアログボックスに環境変数の名前を入力します。OKボタンをクリックします。CGIスクリプトに渡すセクションはPassEnvディレクティブを設定します。
CGIスクリプトやSSIページへ値を渡さないようにするため環境変数を削除したい場合は、CGIスクリプトのために解除セクションを使用します。CGIスクリプトのために解除セクションの追加ボタンをクリックし、設定解除する環境変数の名前を入力します。これは、UnsetEnvディレクティブに相当します。
ディレクトリページを使って、特定のディレクトリのオプションを設定できます。これは、<Directory>ディレクティブに相当します。
右上の編集ボタンをクリックすると、その下のディレクトリ一覧に指定されているものを除くすべてのディレクトリのデフォルトのディレクトリオプションを設定できます。選択したオプションは、<Directory>ディレクティブ内のOptionsディレクティブとして一覧されます。以下のオプションを設定できます。
ExecCGI—CGIスクリプトを実行できます。このオプションが選択されていないと、CGIスクリプトは実行されません。
FollowSymLinks—シンボリックリンクに従います。
Includes—サーバーサイドに含めることができます。
IncludesNOEXEC—サーバーサイドに含めることができますが、CGIスクリプト内の#execコマンドと#includeコマンドは使用できません。
Indexes—DirectoryIndex(index.htmlなど)が要求されたディレクトリに存在しない場合、ディレクトリの内容を形式化した一覧で表示します。
Multiviews—コンテンツネゴシエート型のマルチビューをサポートします。このオプションはデフォルトでは無効です。
SymLinksIfOwnerMatch—ターゲットファイルやディレクトリの所有者がリンクの所有者と同じ場合にだけ、シンボリックリンクに従います。
特定のディレクトリのオプションを指定するには、ディレクトリ一覧ボックスの横にある追加ボタンをクリックします。図14-7に示すウィンドウが開きます。ウィンドウ下部のディレクトリテキストフィールドに設定対象のディレクトリを入力します。右側の一覧でオプションを選択し、左側のオプションを使ってOrderディレクティブを設定します。Orderディレクティブは、ディレクティブを許可または拒否するかを評価するための命令を制御します。このホストを許可テキストフィールドとこのホストを拒否では、次のいずれかを指定できます。
すべてのホストを許可—allと入力すると、すべてのホストへのアクセスを許可
ドメイン名の一部—指定の文字列に一致する名前、または末尾がその文字列に一致する名前を持つすべてのホストを許可
完全なIPアドレス—特定のIPアドレスへのアクセスを許可
サブネット—192.168.1.0/255.255.255.0など
ネットワークのCIDR指定—10.3.0.0/16など
ディレクトリオプションより.htaccessを優先するをチェックすると、.htaccessファイル内の設定ディレクティブが優先されます。