このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apache:2.4:httpd.conf [2019/10/10 11:30] y2sunlight [Main server configuretion] |
apache:2.4:httpd.conf [2020/11/20 09:35] (現在) y2sunlight [概要] |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | > **本編は投稿中です。しばらくお待ち下さい。** | ||
| - | |||
| - | ---- | ||
| - | |||
| ====== Apache2.4 httpd.confの編集 ====== | ====== Apache2.4 httpd.confの編集 ====== | ||
| + | Version 2.4.41 | ||
| + | |||
| --- // | --- // | ||
| 行 9: | 行 7: | ||
| 関連記事 | 関連記事 | ||
| - | | + | * [[apache: |
| - | | + | * Apache2.4 httpd.confの編集 |
| - | * apache2.4 httpd.confの編集 | + | |
| - | * [[apache: | + | Appendix |
| + | * [[apache: | ||
| + | * [[apache: | ||
| ---- | ---- | ||
| - | 以下では、httpd.conf について説明しますが、その内容は本編の目的である「テスト用のローカルWebサーバの構築」です。従って、設定内容自体は公開用のWebサーバには当てはまりませんが、Apacheの設定方法に関してはある程度の参考になると思います。 | + | ===== 概要 ===== |
| - | XAMPP7.2でインストールした直後の httpd.conf は全体(インクルードファイルも含めて)で 約 1, | + | 以下では、httpd.conf について説明します。XAMPPのhttpd.conf は以下に配置されています。 |
| + | |||
| + | < | ||
| + | {XAMPP Install folder}\apache\conf\httpd.conf | ||
| + | </ | ||
| + | |||
| + | 本章の内容は本編の目的である「テスト用のローカルWebサーバの構築」です。従って、設定内容自体は公開用のWebサーバには当てはまりませんが、Apacheの設定方法に関してはある程度の参考になると思います。 | ||
| + | |||
| + | XAMPP7.2でインストールした直後の httpd.conf はファイル全体で(インクルードファイルも含めて) 約 1, | ||
| |(Section 1)Global Enviroment | Webサーバ全体の動作環境に関する設定 | | |(Section 1)Global Enviroment | Webサーバ全体の動作環境に関する設定 | | ||
| 行 26: | 行 34: | ||
| このセクション分けは便宜的なもので、設定上の特別な意味は持ちません。上で使われている「メインサーバ」と言う用語は、バーチャルホスティングによって扱われる仮想サーバに対して本来のWebサーバの事を指す言葉として使われています。仮想サーバの設置は Supplemental configuretion で行われています。 | このセクション分けは便宜的なもので、設定上の特別な意味は持ちません。上で使われている「メインサーバ」と言う用語は、バーチャルホスティングによって扱われる仮想サーバに対して本来のWebサーバの事を指す言葉として使われています。仮想サーバの設置は Supplemental configuretion で行われています。 | ||
| - | 以下では、本編の目的である「テスト用のローカルWebサーバの構築」を行うための設定内容を、httpd.conf で出現するディレクティブの順に挙げます。尚、ここでは、インストール後に変更したもの及び説明のために特に重要と思われる主要な設定内容のみを挙げています。 | + | 以下では、主要な設定内容のみを、httpd.conf で出現するディレクティブの順に挙げます。 |
| + | |||
| + | \\ | ||
| ===== Global Enviroment ===== | ===== Global Enviroment ===== | ||
| 行 71: | 行 81: | ||
| LoadModule ディレクティブはモジュールを追加してサーバの機能を拡張します。初期にロードされているモジュールの一覧は前章の「[[apache: | LoadModule ディレクティブはモジュールを追加してサーバの機能を拡張します。初期にロードされているモジュールの一覧は前章の「[[apache: | ||
| + | |||
| + | \\ | ||
| ===== Main server configuretion ===== | ===== Main server configuretion ===== | ||
| 行 95: | 行 107: | ||
| == デフォルトのアクセス制御 == | == デフォルトのアクセス制御 == | ||
| - | < | + | < |
| - | < | + | < |
| AllowOverride none | AllowOverride none | ||
| Require all denied | Require all denied | ||
| 行 115: | 行 127: | ||
| </ | </ | ||
| - | DocumentRootディレクティブには、ドキュメントルートを設定します。Apacheは指定されたURLパスがAlias またはScriptAlias ディレクティブにマッチしない場合には、ここで設定した物理パスに、リクエストされたURLパスを付加して物理パスを生成します。**DocumentRoot | + | DocumentRootディレクティブには、ドキュメントルートを設定します。Apacheは指定されたURLパスがAlias またはScriptAlias ディレクティブにマッチしない場合には、ここで設定した物理パスに、リクエストされたURLパスを付加して物理パスを生成します。__DocumentRoot |
| == ドキュメントルートのアクセス制御 == | == ドキュメントルートのアクセス制御 == | ||
| - | FIXME | ||
| - | < | + | < |
| < | < | ||
| Options Indexes FollowSymLinks Includes ExecCGI | Options Indexes FollowSymLinks Includes ExecCGI | ||
| 行 138: | 行 149: | ||
| == インデックスファイル == | == インデックスファイル == | ||
| - | < | + | < |
| < | < | ||
| DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \ | DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \ | ||
| 行 151: | 行 162: | ||
| == 特別なファイルの保護 == | == 特別なファイルの保護 == | ||
| - | < | + | < |
| <Files " | <Files " | ||
| Require all denied | Require all denied | ||
| 行 157: | 行 168: | ||
| </ | </ | ||
| - | アクセス制御ファイルの名前は、既定では.htaccessです( AccessFileNameディレクティブによって変更できます )。このようにApacheでは **.ht** で始まるファイルを特別視する習慣があります。従って、このような特別なファイルを保護するために、< | + | アクセス制御ファイルの名前は、既定では.htaccessです( AccessFileNameディレクティブによって変更できます )。このようにApacheでは **.ht** で始まるファイルを特別視する習慣があります。従って、このような特別なファイルを保護するために、< |
| - | この設定はインストール時のもので変更していません。 | + | |
| == エラーログ == | == エラーログ == | ||
| 行 166: | 行 176: | ||
| </ | </ | ||
| - | ErrorLogでエラーログファイル名を、LogLevelでエラーログのレベル(重要度)を指定します。Perlなどのテストではエラーログファイルを見る機会も多いと思います。この設定はインストール時のもので変更していません。 | + | ErrorLogでエラーログファイル名を、LogLevelでエラーログのレベル(重要度)を指定します。 |
| == アクセスログ == | == アクセスログ == | ||
| < | < | ||
| LogFormat "%h %l %u %t \" | LogFormat "%h %l %u %t \" | ||
| + | LogFormat "%h %l %u %t \" | ||
| LogFormat "%h %l %u %t \" | LogFormat "%h %l %u %t \" | ||
| - | LogFormat | + | CustomLog |
| - | LogFormat " | + | |
| - | + | ||
| - | CustomLog | + | |
| </ | </ | ||
| - | CustomLog ディレクティブはクライアントのHTTPリクエストのログ収集を指定します。この設定はインストール時のもので変更していません。この設定で、実際に有効なのは以下の部分です。 | + | CustomLog ディレクティブはクライアントのHTTPリクエストのログ収集を指定します。上の設定では、CustomLog |
| - | | LogFormat "%h %l %u %t \" | ||
| - | | CustomLog logs/ | ||
| - | |||
| - | common以外の形式(combined/ | ||
| - | |||
| - | == CGIディレクトリ == | ||
| < | < | ||
| - | # ScriptAlias / | + | # ログ形式を指定し、形式に名前(combined)を付けます |
| + | LogFormat | ||
| - | # < | + | # 指定のログ形式(combined)でログファイル(logs/ |
| - | # | + | CustomLog |
| - | # | + | |
| - | # Order allow, | + | |
| - | # Allow from all | + | |
| - | # </ | + | |
| </ | </ | ||
| - | AddHandlerディレクティブはファイル名の拡張子を特定のハンドラにマッピングします。この設定は、拡張子(cgiとpl)をCGI スクリプトとして扱うために、ハンドラcgi-script | + | combined以外の形式(common/ |
| - | == ハンドラ == | + | \\ |
| - | ハンドラとは、ファイルにマッピングされた「実行される動作」を表します。ハンドラはモジュールに組み込んだり、Action ディレクティブとして追加したりすることができます。以下に標準で組み込まれている主なハンドラを挙げます。 | + | ===== Supplemental configuretion ===== |
| - | ^ ハンドラ名 | + | このセクションでは、Include ディレクティブを使って、機能毎の設定ファイル(*.conf)を conf/extra ディレクトリー内からインクルードし、サーバーに機能を追加したり、デフォルト設定を変更したりしています。 |
| - | | send-as-isHTTP | ヘッダのあるファイルをそのまま送ります | .asis | | + | |
| - | | cgi-script | CGI スクリプト | .cgi | | + | |
| - | | imap-file | イメージマップのルールファイル | .map | | + | |
| - | | type-map | コンテントネゴシエーションのタイプマップ | .var | | + | |
| - | ===== Supplemental configuretion ===== | + | 例えば、以下はバーチャルホスティングに関するインクルードの例です。 |
| + | |||
| + | < | ||
| + | # Virtual hosts | ||
| + | Include conf/ | ||
| + | </ | ||
| + | |||
| + | XAMPP7.2でインストールしたApacheでは、conf/ | ||
| - | TODO: | + | \\ |