Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
説明: | 起動時やå†èµ·å‹•時ã«å®Ÿè¡Œã‚³ãƒ¼ãƒ‰ã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’サーãƒã«ãƒãƒ¼ãƒ‰ã™ã‚‹ |
---|---|
ステータス: | Extension |
モジュールè˜åˆ¥å: | so_module |
ソースファイル: | mod_so.c |
äº’æ›æ€§: | ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ Window ã§ã¯ (常ã«å«ã¾ã‚Œã¦ã„ã‚‹) Base モジュールã§ã™ |
ã„ãã¤ã‹ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã€ã‚µãƒ¼ãƒã®å†ã‚³ãƒ³ãƒ‘イルをã™ã‚‹ä»£ã‚りã«ã€ ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’使用ã—㦠動的共有オブジェクト (DSO) 機構ã«ã‚ˆã‚Šã€å®Ÿè¡Œæ™‚ã« Apache ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’èªã¿è¾¼ã¾ã›ã‚‹ã“ã¨ãŒ ã§ãã¾ã™ã€‚
Unix 上ã§ã¯ã€èªã¿è¾¼ã¾ã‚Œã‚‹ã‚³ãƒ¼ãƒ‰ã¯é€šå¸¸ã¯å…±æœ‰ã‚ªãƒ–ジェクトファイル
(普通 .so
ã¨ã„ã†æ‹¡å¼µåãŒä»˜ã„ã¦ã„ã¾ã™) ã‹ã‚‰ã§ã™ã€‚
Windows 上ã§ã¯ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ‹¡å¼µå㯠.so
ã‹ .dll
ã§ã™ã€‚
Apache 1.3 ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’直接 Apache 2.0 ã§ä½¿ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“ ― モジュール㯠Apache 2.0 用ã«å‹•çš„ã«ãƒãƒ¼ãƒ‰ã•れるã‹ã€ 直接組ã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã«ä¿®æ£ã•れãªã‘れã°ãªã‚Šã¾ã›ã‚“。
Apache 1.3.15 㨠2.0 ã¨ã§ Windows ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åã®å½¢å¼ã¯å¤‰æ›´ã•れã¾ã—㟠― モジュール㯠mod_foo.so ã¨ã„ã†åå‰ã«ãªã‚Šã¾ã—ãŸã€‚
ã¾ã mod_so ã§ ApacheModuleFoo.dll ã¨ã„ã†åå‰ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚‚ ãƒãƒ¼ãƒ‰ã•れã¾ã™ãŒã€æ–°ã—ã„åå‰ã®ä»˜ã‘æ–¹ã‚’ä½¿ã†æ–¹ãŒå¥½ã¾ã‚Œã¾ã™ã€‚モジュールを 2.0 用ã«ç§»æ¤ã—ã¦ã„ã‚‹ã®ã§ã‚れã°ã€2.0 ã®ç¿’æ…£ã«åˆã†ã‚ˆã†ã«åå‰ã‚’ ä¿®æ£ã—ã¦ãã ã•ã„。
Apache ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« API 㯠UNIX 㨠Windows é–“ã§ã¯å¤‰æ›´ã•れã¦ã„ã¾ã›ã‚“。 多ãã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å…¨ã変更ãªã—ã€ã‚‚ã—ãã¯ç°¡å˜ãªå¤‰æ›´ã«ã‚ˆã‚Š Windows ã§å®Ÿè¡Œã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ãŸã ã—ã€ãれ以外㮠Windows ã«ã¯ç„¡ã„ Unix アーã‚テクãƒãƒ£ãƒ¼ã®æ©Ÿèƒ½ã«ä¾å˜ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯å‹•作ã—ã¾ã›ã‚“。
モジュールãŒå®Ÿéš›ã«å‹•作ã™ã‚‹ã¨ãã¯ã€
二ã¤ã®æ–¹æ³•ã®ã©ã¡ã‚‰ã‹ã§ã‚µãƒ¼ãƒã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¾ãšã€Unix
ã¨åŒæ§˜ã«ã‚µãƒ¼ãƒã«ã‚³ãƒ³ãƒ‘イルã—ã¦çµ„ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚Windows
用㮠Apache 㯠Unix 用㮠Apache ã«ã‚ã‚‹ Configure
プãƒã‚°ãƒ©ãƒ ãŒã‚りã¾ã›ã‚“ã®ã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚½ãƒ¼ã‚¹ãƒ•ァイルを
ApacheCore プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ•ァイルã«è¿½åŠ ã—ã€ã‚·ãƒ³ãƒœãƒ«ã‚’
os\win32\modules.c
ファイルã«è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
二ã¤ç›®ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ DLL ã¨ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹æ–¹æ³•ã§ã™ã€‚
DLL ã¯å…±æœ‰ãƒ©ã‚¤ãƒ–ラリã§ã€å®Ÿè¡Œæ™‚ã«
ディレクティブã«ã‚ˆã‚Šã‚µãƒ¼ãƒã«èªã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れらã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
DLL ã¯ãã®ã¾ã¾é…布ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã€ã‚µãƒ¼ãƒã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹ã“ã¨ãªãã€Windows
用㮠Apache ã®ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚LoadModule
モジュール DLL を作æˆã™ã‚‹ãŸã‚ã«ã¯ã€
モジュールã®ä½œæˆã«å°ã•ãªå¤‰æ›´ã‚’行ãªã†å¿…è¦ãŒã‚りã¾ã™ã€‚
ã¤ã¾ã‚Šã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ (ã“れã¯å¾Œã§ä½œæˆã•れã¾ã™ã€‚
以下をå‚ç…§ã—ã¦ãã ã•ã„) ㌠DLL ã‹ã‚‰ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•れãªã‘れã°ãªã‚Šã¾ã›ã‚“。
ã“れを行ãªã†ã«ã¯ã€AP_MODULE_DECLARE_DATA
(Apache
ã®ãƒ˜ãƒƒãƒ€ãƒ•ァイルã§å®šç¾©ã•れã¦ã„ã¾ã™) をモジュールã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãƒ¬ã‚³ãƒ¼ãƒ‰
定義ã®éƒ¨åˆ†ã«è¿½åŠ ã—ã¦ãã ã•ã„。ãŸã¨ãˆã°ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«
module foo_module;
ãŒã‚ã‚‹ã¨ã™ã‚‹ã¨ã€ãれを次ã®ã‚‚ã®ã§ç½®ãæ›ãˆã¦ãã ã•ã„。
module AP_MODULE_DECLARE_DATA foo_module;
Unix 上ã§ã‚‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’
変更無ã—ã§ä½¿ã„ç¶šã‘られるよã†ã«ã€ã“ã®ãƒžã‚¯ãƒã¯ Windows
上ã§ã®ã¿åŠ¹åŠ›ã‚’æŒã¡ã¾ã™ã€‚.DEF
ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–¹ã‚’良ã知ã£ã¦ã„ã‚‹ã¨ã„ã†å ´åˆã¯ã€
代ã‚りã«ãれを使ã£ã¦ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’
エクスãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
ã•ã‚ã€ã‚ãªãŸã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® DLL を作æˆã—ã¾ã—ょã†ã€‚ã“れを〠libhttpd.lib 共有ライブラリãŒã‚³ãƒ³ãƒ‘イルã•れãŸã¨ãã«ä½œæˆã•れ㟠ibhttpd.lib エクスãƒãƒ¼ãƒˆãƒ©ã‚¤ãƒ–ラリã¨ãƒªãƒ³ã‚¯ã—ã¦ãã ã•ã„。ã“ã®æ™‚ã«ã€ Apache ã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ£ã—ã„ä½ç½®ã«ã‚るよã†ã«ã€ コンパイラã®è¨å®šã‚’変ãˆã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 ã“ã®ãƒ©ã‚¤ãƒ–ラリã¯ã‚µãƒ¼ãƒãƒ«ãƒ¼ãƒˆã® modules ディレクトリã«ã‚りã¾ã™ã€‚ ãƒ“ãƒ«ãƒ‰ç’°å¢ƒãŒæ£ã—ãè¨å®šã•れるよã†ã«ã€æ—¢å˜ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ç”¨ã® .dsp ã‚’ å–ã£ã¦ãã‚‹ã®ãŒä¸€ç•ªè‰¯ã„ã§ã—ょã†ã€‚ã‚‚ã—ãã¯ã€ã‚ãªãŸã® .dsp 㨠コンパイラã¨ãƒªãƒ³ã‚¯ã®ã‚ªãƒ—ションを比較ã™ã‚‹ã€ã¨ã„ã†ã‚‚ã®ã§ã‚‚良ã„ã§ã™ã€‚
ã“れ㧠DLL 版ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒä½œæˆã•れã¦ã„ã‚‹ã¯ãšã§ã™ã€‚
サーãƒãƒ«ãƒ¼ãƒˆã® modules
ディレクトリã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’ç½®ã„ã¦ã€
ディレクティブを使ã£ã¦èªã¿è¾¼ã‚“ã§ãã ã•ã„。LoadModule
説明: | 指定ã•れãŸã‚ªãƒ–ジェクトファイルやライブラリをリンクã™ã‚‹ |
---|---|
æ§‹æ–‡: | LoadFile filename [filename] ... |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル |
ステータス: | Extension |
モジュール: | mod_so |
LoadFile ディレクティブã¯ã€ã‚µãƒ¼ãƒãŒèµ·å‹•ã•れãŸã¨ãã‚„å†èµ·å‹•ã•れãŸã¨ãã«ã€ 指定ã•れãŸã‚ªãƒ–ジェクトファイルやライブラリをリンクã—ã¾ã™ã€‚ ã“れã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå‹•作ã™ã‚‹ãŸã‚ã«å¿…è¦ã«ãªã‚‹ã‹ã‚‚ã—れãªã„è¿½åŠ ã® ã‚³ãƒ¼ãƒ‰ã‚’èªã¿è¾¼ã‚€ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚Filename ã¯çµ¶å¯¾ãƒ‘スã‹ã€ServerRoot ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã§ã™ã€‚
例:
LoadFile libexec/libxmlparse.so
説明: | オブジェクトファイルやライブラリをリンクã—ã€ä½¿ç”¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã® リストã«è¿½åŠ ã™ã‚‹ |
---|---|
æ§‹æ–‡: | LoadModule module filename |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル |
ステータス: | Extension |
モジュール: | mod_so |
LoadModule ディレクティブ㯠filename
ã¨ã„ã†ã‚ªãƒ–ジェクトファイルãŠã‚ˆã³ãƒ©ã‚¤ãƒ–ラリをリンクã—ã€module
ã¨ã„ã†åå‰ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ§‹é€ をアクティブãªãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã€‚
Module ã¯ãƒ•ァイルä¸ã® module
åž‹ã®å¤–部変数ã®åå‰ã§ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ‰ã‚ュメントã«
モジュールè˜åˆ¥åã¨ã—ã¦æ›¸ã‹ã‚Œã¦ã„ã‚‹ã‚‚ã®ã§ã™ã€‚例 :
LoadModule status_module modules/mod_status.so
ã“れ㯠ServerRoot ã® modules サブディレクトリã‹ã‚‰æŒ‡å®šã•れãŸåå‰ã® モジュールをãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚