サーバー名、Webマスターのeメールアドレス、使用可能なアドレスを定義した後、[Virtual Hosts] タブをクリックし、さらに[Edit Default Settings]ボタンをクリックします。Figure 11-3に示すウィンドウが開きます。このウィンドウでWebサーバーのデフォルト設定値を設定します。仮想ホストを追加した場合は、その仮想ホスト用に設定した設定値が優先されます。仮想ホストの設定値内に定義されていないディレクティブの場合は、デフォルト値が使用されます。
通常のサーバーでは、[Directory Page Search List]と[Error Pages]はデフォルト値で十分に動作します。これらの設定値がはっきりわからない場合は、変更しないでください。
[Directory Page Search List]に一覧されたエントリは、DirectoryIndexディレクティブを定義します。DirectoryIndexは、ユーザーがディレクトリの最後にスラッシュ(/)を指定して、ディレクトリのインデックスを要求したときに、サーバーによって提供されるデフォルトページです。
たとえば、ユーザーがhttp:// your_domain/ this_directory/ページを要求すると、存在する場合はDirectoryIndex ページが、それ以外の場合はサーバーが生成したディレクトリリストが表示されます。サーバーは、DirectoryIndexディレクティブに一覧されたいずれかのファイルの検索を試み、最初に見つかったファイルを返します。ファイルが見つからず、そのディレクトリにOptions Indexesが設定されている場合は、サーバーはディレクトリ内のサブディレクトリとファイルのリストをHTML形式で生成し、それを返します。
[Error Code]セクションでは、問題やエラーが発生したときにクライアントをローカルURLまたは外部URLへリダイレクトするように、Apacheを設定できます。このオプションは、ErrorDocumentディレクティブに相当します。問題やエラーが発生した場合に、クライアントがApache Webサーバーへ接続しようとすると、デフォルトアクションとして、[Error Code]列に示すような簡潔なエラーメッセージが表示されます。このデフォルト設定を上書きするには、エラーコードをクリックし、さらに[Edit]ボタンをクリックします。デフォルトの簡潔なエラーメッセージを表示するため、[Default]を選択します。[URL]を選択すると、クライアントは外部URLへリダイレクトされます。リダイレクト先として、[Location]フィールドにhttp://を含む完全なURLを入力します。[File] を選択すると、クライアントは内部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)として[File] を選択し、[Location]として/errors/404.htmlを入力します。
[Default Error Page Footer]メニューから、次のいずれかのオプションを選択できます。
Show footer with email address—すべてのエラーページの下部に、デフォルトのApacheフッターと、 ServerAdminディレクティブが指定するWebサイト管理者のeメールアドレスを表示します。ServerAdminディレクティブの設定については、the section called 一般のオプションを参照してください。
Show footer—エラーページの下部に、デフォルトのApacheフッターだけを表示します。
No footer—エラーページの下部にフッターを表示しません。
デフォルトでは、Apacheは/var/log/httpd/access_logファイルに転送ログを書き込み、/var/log/httpd/error_logファイルにエラーログを書き込みます。
転送ログは、Webサーバーへのすべてのアクセス試行の一覧です。それには、接続を試みたクライアントのIPアドレス、試行日時、検索対象となったWebサーバー上のファイルが記録されます。この情報の格納席となるパスとファイルの名前を入力します。パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定されたサーバールートディレクトリからの相対パスと見なされます。このオプションは、TransferLogディレクティブに相当します。
[Use custom logging facilities]をチェックし、[Custom Log String]フィールドにカスタムログ文字列を入力すると、カスタムログ形式を設定できます。これによって、LogFormatディレクティブが設定されます。このディレクティブの形式について詳しくは、 http://httpd.apache.org/docs/mod/mod_log_config.html#formatsを参照してください。
エラーログは、発生したすべてのサーバーエラーの一覧です。この情報の格納先となるパスとファイルの名前を入力します。パスとファイル名をスラッシュ(/)で開始しなかった場合、パスは設定されたサーバールートディレクトリからの相対パスと見なされます。このオプションは、ErrorLogディレクティブに相当します。
[Log Level]メニューを使用すると、エラーログにどの程度詳細にエラーメッセージを記録するかを設定できます。emerg、alert、crit、error、warn、notice、info、debug(もっとも簡潔なレベルからもっとも詳細なレベルへの順)のいずれかを設定できます。このオプションは、LogLevelディレクティブに相当します。
[Reverse DNS Lookup]メニューで選択した値によって、HostnameLookupsディレクティブが定義されます。[No Reverse Lookup]を選択すると、値はオフに設定されます。[Reverse Lookup]を選択すると、値はオンに設定されます。[Double Reverse Lookup]を選択すると、値はダブルに設定されます。
[Reverse Lookup]を選択した場合は、サーバーが自動的に、Webサーバーからのドキュメントを要求する各接続のIPアドレスを解決します。IPアドレスの解決とは、サーバーがDNSへ複数の接続を確立し、特定のIPアドレスに相当するホスト名を検出することです。
[Double Reverse Lookup]を選択すると、サーバーはDNSの二重逆引きを実行します。つまり、逆引きを実行した後に、その結果に基づいて正引きを実行します。正引き時には、少なくとも1つのIPアドレスが、最初に逆引きしたアドレスに合致しなければなりません。
DNS要求はサーバーの負荷を高めパフォーマンスを低下させるため、通常、このオプションは[No Reverse Lookup]に設定したままにしておきます。サーバーの負荷が高い場合に、このような逆引きや二重逆引きを実行しようとすると、その影響はかなり顕著に現れます。
逆引きと二重逆引きも、インターネット全体から見ると問題の1つです。個々の接続が各ホスト名をルックアップすると負荷は加算されます。個々のWebサーバーの利益は、インターネット全体の利益につながります。したがって、このオプションは、[No Reverse Lookup]に設定しておきましょう。
Apacheは、mod_envモジュールを使用して、CGIスクリプトやSSIページへ渡す環境変数を設定できます。[Environment Variables]ページを使用すると、このApacheモジュールのディレクティブを設定できます。
[Set for CGI Scripts]セクションで、CGIスクリプトやSSIページへ渡す環境変数を設定します。たとえば、環境変数MAXNUMを50に設定するには、the section called 環境変数に示す[Set for CGI Script]セクションの[Add]ボタンをクリックし、[ Environment Variable]テキストフィールドにMAXNUM、[Value to set]テキストフィールドに50と入力します。次に、[OK]ボタンをクリックします。[Set for CGI Scripts]セクションは、SetEnvディレクティブを設定します。
[Pass to CGI Scripts]セクションを指定すると、Apacheが最初にCGIスクリプトを起動したときに環境変数の値を渡すことができます。この環境変数を確認するには、シェルプロンプトでenvコマンドを入力します。[Pass to CGI Scripts]セクションの[Add]ボタンをクリックし、表示されたダイアログボックスに環境変数の名前を入力します。次に、[OK] ボタンをクリックします。[Pass to CGI Scripts]セクションはPassEnvディレクティブを設定します。
CGIスクリプトやSSIページへ値を渡さないように、環境変数を削除したい場合は、[Unset for CGI Scripts]セクションを使用します。[Unset for CGI Scripts]セクションの[Add]ボタンをクリックし、設定解除する環境変数の名前を入力します。これは、UnsetEnvディレクティブに相当します。
[Directories]ページを使って、特定のディレクトリのオプションを設定できます。これは、<Directory>ディレクティブに相当します。
右上角の[Edit]ボタンをクリックすると、その下の[Directory]リストには指定されていないすべてのディレクトリの[Default Directory Options]を設定できます。選択したオプションは、<Directory>ディレクティブ内のOptionsディレクティブとして一覧されます。次のオプションを設定できます。
ExecCGI—CGIスクリプトを実行できます。このオプションが選択されていないと、CGIスクリプトは実行されません。
FollowSymLinks—シンボリックリンクに従います。
Includes—サーバーサイドに含めることができます。
IncludesNOEXEC—サーバーサイドに含めることができますが、CGIスクリプト内の#execおよび#includeコマンドは使用できません。
Indexes—DirectoryIndex(index.htmlなど)が要求されたディレクトリに存在しない場合、ディレクトリの内容を形式化した一覧で表示します。
Multiview—コンテンツネゴシエート型のマルチビューをサポートします。このオプションはデフォルトでは無効です。
SymLinksIfOwnerMatch—ターゲットファイルやディレクトリの所有者がリンクの所有者と同じ場合にだけ、シンボリックリンクに従います。
特定のディレクトリのオプションを指定するには、[Directory]リストボックスの横にある[Add]ボタンをクリックします。Figure 11-7に示すウィンドウが開きます。ウィンドウ下部の[Directory]テキストフィールドに設定対象のディレクトリを入力します。右側のリストでオプションを選択し、左側のオプションを使ってOrderディレクティブを設定します。Orderディレクティブは、ディレクティブを許可または拒否するかを評価するための命令を制御します。[Allow hosts from]テキストフィールドと[Deny hosts from] テキストフィールドでは、次のいずれかを指定できます。
すべてのホストを許可—allと入力すると、すべてのホストへのアクセスを許可
ドメイン名の一部—指定の文字列に一致する名前、または末尾がその文字列に一致する名前を持つすべてのホストを許可
完全なIPアドレス—特定のIPアドレスへのアクセスを許可
サブネット—192.168.1.0/255.255.255.0など
ネットワークのCIDR指定—10.3.0.0/16など
[Let .htaccess files override directory options] をチェックすると、.htaccessファイル内の設定ディレクティブが優先されます。