web-dev-qa-db-ja.com

完全なhttpd設定を表示するにはどうすればよいですか?

私はhttpdセットアップの完全な完全な構成が何であるかを把握しようとしています。

すべての構成ファイルは異なるファイル(/etc/httpd/conf.d、httpd.conf、さまざまなmod構成)に散在しています

最終的なhttpd構成をリストする方法はありますか?
単一のファイルで実行中のセットアップ構成全体が好きですか?

64
Gnafu

Arco444で述べたように、apachectl -Sを使用して現在構成から実行されているVirtualHostsの概要を表示し、apachectl -Mを使用して現在ロードされているすべてのモジュールを表示できます-解析されたすべての構成の詳細な出力どの順序で解析されたか)はhttpdの起動時に行われますが、httpd構成ファイルの一般的な構造に精通することをお勧めします。

あなたの質問に特に注意してください:「メイン」Apache configファイルは/etc/httpd/conf/httpd.confにあります(CentOS 6に含まれるリポジトリからのデフォルトのhttpdインストールの221行の領域で、あなたはあなたの投稿タグに基づいて使用していると仮定します) 、および「補足」構成ファイルは/etc/httpd/conf.dにあり、メイン構成ファイルに明示的に含める必要があります。たとえば、httpd.confファイルで用語「Include」を検索すると、サブディレクトリInclude conf.d/*.confの拡張子.confのすべてのファイルを含む行conf.dがアルファベット順に表示されるため、慣れる必要があります。可能であれば、ある時点で設定ファイルを解析することの重要性を理解してください。

余談ですが、vimなどのシェルベースのテキストエディターを使用している場合は、デフォルトで行番号付けと構文の強調表示を有効にして、そのような長い構成ファイルを自分で解析してナビゲートしやすくすることをお勧めします-vimの場合、ホームディレクトリに.vimrcというファイルを作成する(または既存のファイルに追加する)ことにより、次の行を追加します。

set nu
syntax on
38
BE77Y

そのためにmod_infoを使用してください: http://httpd.Apache.org/docs/2.2/mod/mod_info.html

唯一の欠点は、削除された構成を回復する必要があり、モジュールをまだロードしていない場合、あまり役に立ちません

10
r_3

Apache HTTP Server Documentation で説明されているように

Config define -DDUMP_CONFIGが設定されている場合、mod_infoはサーバーの起動時に事前に解析された構成をstdoutにダンプします。

httpd -DDUMP_CONFIG -k start

DUMP_CONFIGにはmod_infoenabledが必要です:a2enmod info

Ubuntuで次の操作を行います

Sudo Apache2ctl -DDUMP_CONFIG

行番号を削除したい場合は

Sudo Apache2ctl -DDUMP_CONFIG | grep -vE "^[ ]*#[ ]*[0-9]+:$"

またはファイルにリダイレクト

Sudo Apache2ctl -DDUMP_CONFIG | grep -vE "^[ ]*#[ ]*[0-9]+:$" > /path/to/dump.conf

既知の制限

mod_infoは、元の構成ファイルを読み取るのではなく、解析された構成を読み取ることで情報を提供します。解析された構成ツリーの作成方法の結果として、いくつかの制限があります。

  • 解析された構成に保存されるのではなく、すぐに実行されるディレクティブはリストされていません。これらには、ServerRoot、LoadModule、およびLoadFileが含まれます。
  • 含めるなど、構成ファイル自体を制御するディレクティブはリストされていませんが、含まれている構成ディレクティブはリストされています。
  • コメントはリストされていません。 (これは機能と見なされる場合があります。)
  • .htaccessファイルの構成ディレクティブはリストされません(これらは永続的なサーバー構成の一部を形成しないため)。
  • のようなコンテナディレクティブは通常リストされていますが、mod_infoは終了の行番号を把握できません。
  • Mod_Perlなどのサードパーティモジュールによって生成されたディレクティブはリストされない場合があります。
9
wolfrevo