第 2 章 Apache の起動 2.1 Apache httpd の起動 このプログラムは、HTTP サービスに入る接続があるたびにインターネット サービス プログラム inetd によって起動することも、サービスとして使用することもできます。プログラム (デーモン) は実行を続けます。そしてリクエストを処理します。どの方法を選択する場合でも、ServerType ディレクティブを設定してサーバーにどのように実行するかを指示する必要があります。 2.2 コマンド ライン オプション httpd コマンド ラインでは次のオプションを使用できます。 -d serverroot は、ServerRoot パラメータの開始値をserverroot に設定します。これは、構成ファイルの ServerRoot コマンドを使用して変更できます。デフォルトは /usr/local/etc/httpd です。 -f config は、起動時に構成ファイル内の命令を実行します。 config が / で始まらない場合は、ServerRoot に対する相対パスとして扱われます。このデフォルト値は conf/httpd.conf です。 -X はシングルプロセス モードで実行され、内部デバッグにのみ使用されます。サービス プログラムは端末操作を終了したり、サブルーチンを生成したりしません。通常の Web ページを提供するためにこのモードを使用しないでください。 -v は httpd のバージョンを出力して終了します。 -? httpd オプションのリストを出力して終了します。 2.3 設定ファイル このサーバーは 3 つの設定ディレクティブ ファイルを読み取ります。任意のディレクティブをこれらのファイルのいずれかに含めることができます。これらのファイルの名前はサーバー ルートに関連しており、これは ServerRoot ディレクティブまたは -d コマンド ライン フラグで指定されたルートです。 慣例により、これらのファイルは次のとおりです。 conf/httpd.conf サーバー プログラムの動作を制御するための命令が含まれています。ファイル名は、-f コマンド ライン フラグを使用して変更できます。 conf/srm.conf には、サーバーがクライアントに提供するファイル仕様を制御するディレクティブが含まれています。ファイル名はResourceConfigディレクティブで変更できます。 conf/access.conf には、ファイルへのアクセスを制御するディレクティブが含まれています。ファイル名は AccessConfig ディレクティブで変更できます。 ただし、これらの規則に完全に従う必要はありません。 サーバーは、MIME ファイル タイプを含むファイルも読み取ります。ファイル名は TypesConfig ディレクティブで設定され、デフォルトとして conf/mini.types が設定されます。 2.4 ログ ファイル 2.4.1 pid ファイル サービス プログラムが起動すると、親プログラム httpd のプログラム コード (プロセス ID) が log/httpd.pid ファイルに保存されます。このファイル名は PidFile コマンドで変更できます。このコードは、管理者がサービスを再起動または終了するために使用します。HUP シグナルによってサービスは構成ファイルを再読み取りし、TERM シグナルによってサービスが終了します。 プログラムが異常終了した (または強制終了された) 場合は、httpd サブルーチンを強制終了する必要があります。 2.4.2 エラーのログ サーバーはエラー メッセージをログ ファイルに記録します。デフォルトは log/error_log です。 ファイル名は ErrorLog コマンドを使用して設定でき、仮想ホストごとに異なるエラー レコードを設定できます。 2.4.3 送信記録 サーバーは通常、各リクエストを送信ファイル (デフォルトでは logs/access_log) に記録します。ファイル名は TransferLog コマンドで設定でき、仮想ホストごとに異なる転送レコードを設定できます。 第 3 章 Apache のコア機能 これらの設定パラメータは、Apache のコア機能を制御し、永続的に使用できます。 3.1 AccessConfig コマンド 構文: AccessConfig ファイル名 デフォルト: AccessConfig conf/access.conf 使用目的: サーバー構成、仮想ホスト ステータス: コア このサーバーは ResourceConfig ファイルを読み取った後、このファイルを読み取ってさらに指示を取得します。ファイル名は、ServerRoot パスに対する相対パスです。この機能は、AccessConfig /dev/null を使用してオフにすることができます。当初、このファイルには セクションのみが含まれていましたが、現在はサーバー構成に使用できる任意のディレクティブを含めることができます。 3.2 AccessFileName コマンド構文: AccessFileName デフォルトのファイル名: AccessFileName .htaccess 用途: サーバー構成、仮想ホスト ステータス: コアがファイルをクライアントに返すとき、ディレクトリのアクセス制御ファイルが有効な場合、サーバーはこれに到達します。 file パス内のすべてのディレクトリでこの名前のアクセス制御ファイルを検索します。例: AccessFileName .acl ファイル /usr/local/web/index.html を返す前に、サーバーは /.acl、/usr/.acl、/usr/local/.acl、および /usr/local/web/ を読み取ります。次のようにオフにされていない限り、.acl を使用してディレクティブを取得します: AllowOverride None 3.3AllowOverride ディレクティブ構文:AllowOverride override override ... デフォルト:AllowOverride すべて対象:ディレクトリ ステータス:コア サーバーが見つかりました AccessFileName が指定されました ファイルはどのファイルを認識する必要がありますかファイルによって宣言された命令により、以前のアクセス情報が変更される可能性があります。Override を None に設定すると、サーバーはファイルを読み取らなくなります。All に設定すると、サーバーはすべてのコマンド、または次のいずれかを許可します。 AuthConfig は、認証コマンド (AuthDBMGroupFile、AuthDBMUserFile、AuthGroupFile、 AuthName、AuthType、AuthUserFile および require) FileInfo では、ファイル タイプを制御するディレクティブ (AddEncoding、AddLanguage、AddType、DefaultType および LanguagePriority) を使用できます。 Indexes では、ディレクトリのインデックス付けを制御するディレクティブ (AddDescription、AddIcon、AddIconByEncoding、AddIconByType、DefaultIcon 、 DirectoryIndex、FancyIndexing、HeaderName、IndexIgnore、IndexOptions、ReadmeName) 制限では、ホストへのアクセスを制御するコマンド (許可、拒否、順序) の使用が許可されます。 オプションでは、特定のディレクトリの特性を制御するコマンド (オプションと XbitHack) の使用が許可されます。 AuthName コマンド構文: AuthName 対象の認証フィールド: ディレクトリ、.htaccess 要件: AuthConfig ステータス: コア このコマンドは、ディレクトリの認証フィールドの名前を設定します。このフィールドはクライアントに送信されるため、ユーザーは送信するユーザー名とパスワードを知ることができます。これは、AuthType および require ディレクティブを通じて実行する必要があり、AuthUserFile や AuthGroupFile などのディレクティブと連携して動作する必要があります。 3.5 AuthType ディレクティブ 構文: AuthType type 使用対象: ディレクトリ、.htaccess 要件: AuthConfig ステータス: コア このディレクティブは、ディレクトリの認証タイプを選択します。現在、Basic のみが実装されています。これは、AuthName および require ディレクティブを通じて実行する必要があり、AuthUserFile や AuthGroupFile などのディレクティブと組み合わせる必要があります。 3.6 BindAddress コマンド構文: BindAddress サーバー アドレス デフォルト: BindAddress * 使用目的: サーバー構成 ステータス: コア Unix http サーバーは、サービス マシンの各 IP アドレスの接続を監視することも、サービス マシンのアドレスの 1 つだけに注目することもできます。サーバー アドレスは次のとおりです。 *。 IP アドレス。完全なインターネット ドメイン名。この値が * の場合、サーバーはすべての IP アドレスからの接続を待機します。それ以外の場合は、指定された IP アドレスのみを待機します。 このオプションは、 セクションの代わりに仮想ホスティングをサポートするための代替手段として使用できます。 3.7 DefaultType コマンド構文: DefaultType mime-type デフォルト: DefaultType text/html 使用対象: サーバー構成、仮想ホスト、ディレクトリ、.htacess 要件: FileInfo ステータス: コア 場合によっては、サーバーは特定のファイルを提供するように要求され、このファイルは提供できませんタイプは、MIME タイプのマッピングによって決まります。 サーバーは、ファイルに含まれるタイプ (コンテンツ タイプ) をクライアントに伝える必要があるため、タイプがわからない場合は DefaultType を使用します。例: DefaultType image/gif は、.gif 拡張子のない gif グラフィックが多数含まれるディレクトリに適しています。 3.8 ディレクティブ 構文: ... 使用対象: サーバー構成、仮想ホスト ステータス: コア および は、指定されたディレクトリとそのサブディレクトリにのみ適用される一連の命令をラップするために使用されます。ディレクトリで使用できるディレクティブはどれも機能します。 Directory は、ディレクトリへのフルパス、またはワイドカード文字列です。置換文字列では、`? は任意の 1 文字と一致し、`* は任意の順序で複数の文字と一致します。例: オプション インデックス FollowSymLinks ファイルを含むディレクトリ (またはその親ディレクトリ) に一致するディレクトリ セクションが複数ある場合、.htaccess ファイルに配布されているディレクティブは、次のように短いものから順に適用されます。 AllowOverride なし AllowOverride FileInfo /home/web/dir/doc.html このドキュメントにアクセスする手順は次のとおりです。 AllowOverride None ディレクティブを使用します (.htaccess ファイルをオフにします)。 。 AllowOverride FileInfo ディレクティブ (ディレクトリ /home/web ) を適用します。 。 /home/web/.htaccess 内の FileInfo ディレクティブを適用します。 このディレクトリ セクションは通常、access.conf ファイルで使用されますが、任意の構成ファイルに含めることができます。 コマンドをネストしたり、セクションに含めたりすることはできません。 3.9 DocumentRoot コマンド 構文: DocumentRoot ディレクトリ名 デフォルト: DocumentRoot /usr/local/etc/httpd/htdocs 使用目的: サーバー構成、仮想ホスト ステータス: コア このコマンドは、このディレクトリからファイルを提供するように httpd を設定します。 Alias などのディレクティブが満たされない限り、サーバーは要求された URL をドキュメント ルートに追加して、ファイルへのパスを組み立てます。例: DocumentRoot /usr/web このように、http://www.my.host.com/index.html ファイルへのアクセスは、/usr/web/index.html を参照します。 3.10 ErrorDocument コマンド構文: ErrorDocument エラー コード ファイルは次の目的で使用されます: サーバー設定、仮想ホスト ステータス: コアの問題がある場合、またはエラーが発生した場合、Apache は 4 つの反応を実行するように設定できます。 1. NCSA httpd 1.3 の反応と同じです。 2. からの出力 3. 問題/エラーを処理するためにローカル URL にリダイレクトする 4. 問題/エラーを処理するために外部 URL にリダイレクトする 2 ~ 4 は、ErrorDocument を使用して構成され、その後に HTTP 応答コードとメッセージまたは URL が続きます。ErrorDocument 500 /cgi-bin/tester ErrorDocument 404 /cgi-bin/bad_urls.pl ErrorDocument 401 http://www.foo.bar/subscription_info.html ErrorDocument 403 "申し訳ありませんが、今日はアクセスを許可できません。参照: カスタム応答ファイル。 3.11 ErrorLog コマンド構文: ErrorLog ファイル名 デフォルト: ErrorLog logs/error_log 使用目的: サーバー設定、仮想ホストのステータス: コア このエラー ロギング コマンドはファイル名を設定し、サーバーは発生したすべてのエラーをこのファイルに記録します。名前が / で始まらない場合は、ServerRoot に対する相対パスであるとみなされます。 例: ErrorLog /dev/null これにより、エラー ログが実質的にオフになります。 Group unix-group デフォルト。 1 for:server config status:core このグループ コマンドは、サーバーがリクエストに応答するグループを設定します。このコマンドを使用するには、スタンドアロン Unix グループを次のいずれかとして起動する必要があります。
http://www.bkjia.com/PHPjc/531696.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/531696.html技術記事第 2 章 Apache の起動 2.1 Apache httpd の起動 このプログラムは、HTTP サービスに入る接続があるたびに、または他の...