From fe39ffb8b90ae4e002ed73fe98617cd590abb467 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 08:33:50 +0200 Subject: Adding upstream version 2.4.56. Signed-off-by: Daniel Baumann --- docs/manual/mod/mod_so.html.ja.utf8 | 230 ++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 docs/manual/mod/mod_so.html.ja.utf8 (limited to 'docs/manual/mod/mod_so.html.ja.utf8') diff --git a/docs/manual/mod/mod_so.html.ja.utf8 b/docs/manual/mod/mod_so.html.ja.utf8 new file mode 100644 index 0000000..ab9e2d1 --- /dev/null +++ b/docs/manual/mod/mod_so.html.ja.utf8 @@ -0,0 +1,230 @@ + + + + + +mod_so - Apache HTTP サーバ バージョン 2.4 + + + + + + + + +
<-
+ +
+

Apache モジュール mod_so

+
+

翻訳済み言語:  en  | + fr  | + ja  | + ko  | + tr 

+
+
この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 +
+ + + + +
説明:起動時や再起動時に実行コードとモジュールをサーバにロードする +
ステータス:Extension
モジュール識別子:so_module
ソースファイル:mod_so.c
互換性:このモジュールは Window では (常に含まれている) Base +モジュールです
+

概要

+ + +

いくつかのオペレーティングシステムでは、サーバの再コンパイルをする代わりに、 + このモジュールを使用して + 動的共有オブジェクト + (DSO) 機構により、実行時に Apache HTTP Server にモジュールを読み込ませることが + できます。

+ +

Unix 上では、読み込まれるコードは通常は共有オブジェクトファイル + (普通 .so という拡張子が付いています) からです。 + Windows 上ではこのモジュールの拡張子は .so.dll + です。

+ +

警告

+

Apache HTTP Server のあるメジャーバージョン向けにビルドされたモジュールは一般に + 他のメジャーバージョンでは動きません。(例えば 1.3 と 2.0、 2.0 と 2.2) + またメジャーバージョン間ではAPIの変更がしばしば発生し、そのため新しい + メジャーバージョン向けにモジュールの修正が必要になることがあります。

+
+
+
Support Apache!

トピック

+
    +
  • Windows 用のロード可能なモジュールを作成する
  • +

ディレクティブ

+ +

Bugfix checklist

参照

+
+
top
+
+

Windows 用のロード可能なモジュールを作成する

+ +

+

Windows において動的にロードされるモジュールの拡張子は普通 .dll + ですが、Apache httpd のモジュールは mod_whatever.so + といった名前を持ちます。これは、他のプラットフォームでの通常の形式に + あわせたものです。しかしながら、サードパーティ製モジュール、例えばPHPなど、 + は今でも .dll の拡張子を使っています。

+ +

まだ mod_soApacheModuleFoo.dll という名前の + モジュールもロードされますが、新しい名前の付け方を使う方が好まれます。 + モジュールを 2.0 用に移植しているのであれば、2.0 の習慣に合うように名前を + 修正してください。

+ +

Apache httpd のモジュール API は UNIX と Windows 間では変更されていません。 + 多くのモジュールは全く変更なし、もしくは簡単な変更により Windows + で実行できるようになります。ただし、それ以外の Windows には無い Unix + アーキテクチャーの機能に依存したモジュールは動作しません。

+ +

モジュールが実際に動作するときは、 + 二つの方法のどちらかでサーバに追加することができます。まず、Unix + と同様にサーバにコンパイルして組み込むことができます。Windows + 用の Apache httpd は Unix 用の Apache にある Configure + プログラムがありませんので、モジュールのソースファイルを + ApacheCore プロジェクトファイルに追加し、シンボルを + os\win32\modules.c ファイルに追加する必要があります。

+ +

二つ目はモジュールを DLL としてコンパイルする方法です。 + DLL は共有ライブラリで、実行時に + LoadModule + ディレクティブによりサーバに読み込むことができます。これらのモジュール + DLL はそのまま配布することが可能で、サーバを再コンパイルすることなく、Windows + 用の Apache httpd のすべてのインストールで実行することができます。

+ +

モジュール DLL を作成するためには、 + モジュールの作成に小さな変更を行なう必要があります。 + つまり、モジュールのレコード (これは後で作成されます。 + 以下を参照してください) が DLL からエクスポートされなければなりません。 + これを行なうには、AP_MODULE_DECLARE_DATA (Apache httpd + のヘッダファイルで定義されています) をモジュールのモジュールレコード + 定義の部分に追加してください。たとえば、モジュールに

+

+ module foo_module; +

+ +

があるとすると、それを次のもので置き換えてください。

+

+ module AP_MODULE_DECLARE_DATA foo_module; +

+ +

Unix 上でもこのモジュールを + 変更無しで使い続けられるように、このマクロは Windows + 上でのみ効力を持ちます。.DEF + ファイルの方を良く知っているという場合は、 + 代わりにそれを使ってモジュールレコードを + エクスポートすることもできます。

+

さあ、あなたのモジュールの DLL を作成しましょう。これを、 + libhttpd.lib 共有ライブラリがコンパイルされたときに作成された + ibhttpd.lib エクスポートライブラリとリンクしてください。この時に、 + Apache httpd のヘッダファイルが正しい位置にあるように、 + コンパイラの設定を変える必要があるかもしれません。 + このライブラリはサーバルートの modules ディレクトリにあります。 + ビルド環境が正しく設定されるように、既存のモジュール用の .dsp を + 取ってくるのが一番良いでしょう。もしくは、あなたの .dsp と + コンパイラとリンクのオプションを比較する、というものでも良いです。

+ +

これで DLL 版のモジュールが作成されているはずです。 + サーバルートの modules + ディレクトリにモジュールを置いて、 + LoadModule + ディレクティブを使って読み込んでください。

+
+
top
+

LoadFile ディレクティブ

+ + + + + + +
説明:指定されたオブジェクトファイルやライブラリをリンクする
構文:LoadFile filename [filename] ...
コンテキスト:サーバ設定ファイル, バーチャルホスト
ステータス:Extension
モジュール:mod_so
+ +

LoadFile ディレクティブは、サーバが起動されたときや再起動されたときに、 + 指定されたオブジェクトファイルやライブラリをリンクします。 + これはモジュールが動作するために必要になるかもしれない追加の + コードを読み込むために使用されます。Filename は絶対パスか、ServerRoot からの相対パスです。

+ +

例:

+ +
LoadFile libexec/libxmlparse.so
+ + + +
+
top
+

LoadModule ディレクティブ

+ + + + + + +
説明:オブジェクトファイルやライブラリをリンクし、使用モジュールの +リストに追加する
構文:LoadModule module filename
コンテキスト:サーバ設定ファイル, バーチャルホスト
ステータス:Extension
モジュール:mod_so
+ +

LoadModule ディレクティブは filename + というオブジェクトファイルおよびライブラリをリンクし、module + という名前のモジュールの構造をアクティブなモジュールのリストに追加します。 + Module はファイル中の module + 型の外部変数の名前で、モジュールのドキュメントに + モジュール識別子として書かれているものです。例 :

+ +
LoadModule status_module modules/mod_status.so
+ + +

これは ServerRoot の modules サブディレクトリから指定された名前の + モジュールをロードします。

+ +
+
+
+

翻訳済み言語:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3