利用可能な Apache モジュールを確認するにはどうすればよいでしょうか?

利用可能な Apache モジュールを確認するにはどうすればよいでしょうか?

私は現在、『Definitive Guide to Apache mod_rewrite』を読んでいますが、この本には、特定のシナリオではより優れた代替手段となる他の A​​pache モジュールが数多く紹介されています。

これにより、自分のサイトに何がインストールされているのか疑問に思いました。サーバーへの SSH アクセスはなく、構成ファイルへのアクセス権もありません (私の知る限り)。

何がインストールされているかを確認する方法はありますか、それともホストに直接問い合わせる必要がありますか? 特定のコマンドは PHP 内で実行できると思いますが (つまり、バックティックを使用)、その制限が何であるかはわかりません。

答え1

外部的な方法もありますが、それがオンになっているかどうか、またインストールされているかどうかを知る必要があります。

このphpinfo()関数はApacheについていくつかのことを教えてくれるかもしれませんが、主にPHPに関するものです。Webサーバー経由でコマンドを実行できる場合は、

httpd -t -D DUMP_MODULES

うまくいくかもしれないが、期待はしないほうがいい。

また、一部のモジュールでは、現在使用されていない場合でも、サーバーの応答にデータが含まれる場合があります。http://www.netcraft.com/whatsこの種の例を挙げます。私のサーバーは現在次のように報告しています:

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

これは正確なようですが、思い出したのですが、PHP の部分を削除する必要があります。

答え2

にアクセスできますか.htaccess? アクセスできると思います。そうでなければ、Web サーバーを制御できず、何もできないので、どのモジュールを持っているかを知っても意味がありません。

<IfModule>もしそうなら、ファイルに何らかの操作を行うためのさまざまなディレクティブを追加できます.htaccess(たとえば、特定のファイルへのアクセスを拒否するなど)。その後、ファイルにアクセスしてみてください。ファイルにアクセスできる場合は、モジュールが利用できないことになります。

答え3

これはプログラム的な回答ではありません。

可能であれば、ホスト管理者に直接問い合わせてください。

管理者に mod_info apache モジュールを有効にして、マスター httpd.conf サーバー ファイルを構成するように依頼し (セキュリティのために制限された URI を指定するように)、Web ブラウザーを使用して完全な構成情報を簡単に取得できるようにすることもできます。

ホスト管理者に、上記で別のユーザーが提供した httpd コマンドを実行し、出力を送信するよう依頼することもできます。

関連情報