Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apache:2.4:httpd.conf

差分

このページの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
 +
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2019-10-07//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2019-10-07//
  
行 9: 行 7:
  
 関連記事 関連記事
-  * [[xampp:7.2|XAMPP7.2のインストール]] +  * [[apache:2.4:setting|Apache2.4 Windows版の基本設定]] 
-  * [[apache:2.4:setting|apache2.4 Windows版の基本設定]] +  * Apache2.4 httpd.confの編集 
-  * apache2.4 httpd.confの編集 + 
-  * [[apache:2.4:auth|apache2.4 基本認証とダイジェスト認証]]+Appendix 
 +  * [[apache:2.4:auth|Apache2.4 基本認証とダイジェスト認証]] 
 +  * [[apache:2.4:acd|Apache2.4 アクセス制御ディレクティブ]]
  
 ---- ----
  
-以下では、httpd.conf について説明しますが、その内容は本編の目的である「テスト用のローカルWebサーバの構築」です。従って、設定内容自体は公開用のWebサーバには当てはまりませんが、Apacheの設定方法に関してはある程度の参考になると思います。+===== 概要 =====
  
-XAMPP7.2でインストールした直後の httpd.conf は全体(インクルードファイルも含めて)で 約 1,800行あります。そのうち、行頭に # (シャープ記号)の付いた行はコメント行です。実際には、# が行頭にない行が有効な設定になります。httpd.conf は、次の3つのセクションから構成されています。+以下では、httpd.conf について説明します。XAMPPのhttpd.conf は以下に配置されています。 
 + 
 +<code> 
 +{XAMPP Install folder}\apache\conf\httpd.conf 
 +</code> 
 + 
 +本章の内容は本編の目的である「テスト用のローカルWebサーバの構築」です。従って、設定内容自体は公開用のWebサーバには当てはまりませんが、Apacheの設定方法に関してはある程度の参考になると思います。 
 + 
 +XAMPP7.2でインストールした直後の httpd.conf はファイル全体(インクルードファイルも含めて) 約 1,800行あります。そのうち、行頭に # (シャープ記号)の付いた行はコメント行です。実際には、# が行頭にない行が有効な設定になります。httpd.conf は、次の3つのセクションから構成されています。
  
 |(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:2.4:setting#インストール時にロードされているモジュール|apache2.4 Windows版の基本設定]]」を参照して下さい。 LoadModule ディレクティブはモジュールを追加してサーバの機能を拡張します。初期にロードされているモジュールの一覧は前章の「[[apache:2.4:setting#インストール時にロードされているモジュール|apache2.4 Windows版の基本設定]]」を参照して下さい。
 +
 +\\
  
 ===== Main server configuretion ===== ===== Main server configuretion =====
行 95: 行 107:
  
 == デフォルトのアクセス制御 == == デフォルトのアクセス制御 ==
-<code> +<code xml httpd.conf
-<Directory />+<Directory>
     AllowOverride none     AllowOverride none
     Require all denied     Require all denied
行 115: 行 127:
 </code> </code>
  
-DocumentRootディレクティブには、ドキュメントルートを設定します。Apacheは指定されたURLパスがAlias またはScriptAlias ディレクティブにマッチしない場合には、ここで設定した物理パスに、リクエストされたURLパスを付加して物理パスを生成します。**DocumentRoot には最後のスラッシュを指定してはなりません。+DocumentRootディレクティブには、ドキュメントルートを設定します。Apacheは指定されたURLパスがAlias またはScriptAlias ディレクティブにマッチしない場合には、ここで設定した物理パスに、リクエストされたURLパスを付加して物理パスを生成します。__DocumentRoot には最後のスラッシュを指定してはなりません。__
  
 == ドキュメントルートのアクセス制御 == == ドキュメントルートのアクセス制御 ==
-FIXME 
  
-<code>+<code xml httpd.conf>
 <Directory "D:/usr/xampp7.2.22/htdocs"> <Directory "D:/usr/xampp7.2.22/htdocs">
     Options Indexes FollowSymLinks Includes ExecCGI     Options Indexes FollowSymLinks Includes ExecCGI
行 138: 行 149:
  
 == インデックスファイル == == インデックスファイル ==
-<code>+<code xml httpd.conf>
 <IfModule dir_module> <IfModule dir_module>
     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:
  
 == 特別なファイルの保護 == == 特別なファイルの保護 ==
-<code>+<code xml httpd.conf>
 <Files ".ht*"> <Files ".ht*">
     Require all denied     Require all denied
行 157: 行 168:
 </code> </code>
  
-アクセス制御ファイルの名前は、既定では.htaccessです( AccessFileNameディレクティブによって変更できます )。このようにApacheでは **.ht** で始まるファイルを特別視する習慣があります。従って、このような特別なファイルを保護するために、<Files ~>ブロックを作り全てのホストからのアクセスを拒否します。<Files ~>ブロック内の "^\.ht" は正規表現で、「.htで始まるファイル」の意味です。正規表現についてはPerl に関する文献などを参照して下さい。 +アクセス制御ファイルの名前は、既定では.htaccessです( AccessFileNameディレクティブによって変更できます )。このようにApacheでは **.ht** で始まるファイルを特別視する習慣があります。従って、このような特別なファイルを保護するために、<Files>ブロックを作り全てのホストからのアクセスを拒否します。
-この設定はインストール時のもので変更していません+
  
 == エラーログ == == エラーログ ==
行 166: 行 176:
 </code> </code>
  
-ErrorLogでエラーログファイル名を、LogLevelでエラーログのレベル(重要度)を指定します。Perlなどのテストではエラーログファイルを見る機会も多いと思います。この設定はインストール時のもので変更していません。 +ErrorLogでエラーログファイル名を、LogLevelでエラーログのレベル(重要度)を指定します。
  
 == アクセスログ == == アクセスログ ==
 <code> <code>
 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
 LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%h %l %u %t \"%r\" %>s %b" common
-LogFormat "%{Referer}i -> %U" referer +CustomLog "logs/access.log" combined
-LogFormat "%{User-agent}i" agent +
- +
-CustomLog logs/access.log common+
 </code> </code>
  
-CustomLog ディレクティブはクライアントのHTTPリクエストのログ収集を指定します。の設定はインストール時のもの変更していません。こ設定で、実際に有効なのは以下の部分です。+CustomLog ディレクティブはクライアントのHTTPリクエストのログ収集を指定します。の設定、CustomLog で combined を指定していので、実際に有効なのは以下の部分です。
  
-| LogFormat "%h %l %u %t \"%r\" %>s %b" common | ログ形式を指定し、形式に名前(common)を付けます | 
-| CustomLog logs/access.log common | 指定のログ形式(common)でログファイルを作ります | 
- 
-common以外の形式(combined/referer/agent)も定義してあります。公開用のWebサーバなどでは、目的と必要に応じてログファイルを追加します。 
- 
-== CGIディレクトリ == 
 <code> <code>
-ScriptAlias /cgi-bin/ "C:/usr/Apache2/cgi-bin/         +ログ形式を指定し、形式に名前(combined)を付けます 
 +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"combined
  
-<Directory "C:/usr/Apache2/cgi-bin"+指定のログ形式(combined)でログファイル(logs/access.log)を作ります 
-#     AllowOverride None +CustomLog "logs/access.logcombined
-#     Options None +
-#     Order allow,deny +
-#     Allow from all +
-# </Directory>+
 </code> </code>
  
-AddHandlerディレクティブはファイル名拡張子を特定のハンドラにマッピングします。この設定は、拡張子(cgiとpl)をCGI スクリプトとして扱うためにハンドラcgi-script マッピングします。また、CGIとし実行するためにはOptions ExecCGI 使用てCGIプログラムの実行を許可しなければまりません。本編のドキュメントディレクトリの設定は Options All なので、Options ExecCGI も含んでいます。+combined以外形式(common/combinedio)も定義してあるので必要応じ形式変更します。
  
-== ハンドラ ==+\\
  
- ハンドラとは、ファイルにマッピングされた「実行される動作」を表します。ハンドラはモジュールに組み込んだり、Action ディレクティブとして追加したりすることができます。以下に標準で組み込まれている主なハンドラを挙げます。+===== Supplemental configuretion =====
  
-^  ハドラ名  ^  実行される動作  ^  典型的な拡張子 +このセクショでは、Include ディレクティブを使って、機能毎設定ファイル(*.conf)を conf/extra ディレー内からンクルードし、サーバーに機能を追加したり、デルト設定を変更したりしています。
-| send-as-isHTTP | ヘッダあるファイルをそのまま送ります | .asis | +
-| cgi-script | CGI スクリプト | .cgi | +
-| imap-file | メージマップのルーァイル | .map | +
-| type-map | コンテンネゴシエーションのタイプマップ | .var |+
  
-===== Supplemental configuretion =====+例えば、以下はバーチャルホスティングに関するインクルードの例です。 
 + 
 +<code> 
 +# Virtual hosts 
 +Include conf/extra/httpd-vhosts.conf 
 +</code> 
 + 
 +XAMPP7.2でインストールしたApacheでは、conf/extra ディレクトリー内に、バーチャルホスティング、ユーザホームディレクトリ、プロキシ、SSL及びWebDAVなど14種類の機能についての追加設定ファイルが存在しています。
  
-TODO:+\\
apache/2.4/httpd.conf.1570674605.txt.gz · 最終更新: 2019/10/10 11:30 by y2sunlight