Apache HTTP Server Version 2.3
¼³¸í: | ½ÃÀÛÇÒ¶§ ȤÀº Àç½ÃÀÛÇÒ¶§ ½ÇÇà°¡´ÉÇÑ ÄÚµå¿Í ¸ðµâÀ» ¼¹ö·Î ÀоîµéÀδ٠|
---|---|
»óÅÂ: | Extension |
¸ðµâ¸í: | so_module |
¼Ò½ºÆÄÀÏ: | mod_so.c |
Áö¿ø: | À©µµ¿ìÁî¿¡¼ (Ç×»ó Æ÷ÇÔÇÏ´Â) Base ¸ðµâÀÌ´Ù. |
¸î¸î ¿î¿µÃ¼Á¦¿¡¼ ¾ÆÆÄÄ¡´Â µ¿Àû°øÀ¯°´Ã¼ (DSO) ±â¼úÀ» »ç¿ëÇÏ¿© ¼¹ö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°íµµ ½ÇÇàÁß¿¡ ¸ðµâÀ» ÀоîµéÀÏ ¼ö ÀÖ´Ù.
ÀоîµéÀÏ ÄÚµå´Â, À¯´Ð½º¿¡¼´Â (.so
È®ÀåÀÚ¸¦
°¡Áø) ÀϹÝÀûÀÎ °øÀ¯°´Ã¼ÆÄÀÏÀÌ°í, À©µµ¿ìÁî¿¡¼´Â .so
ȤÀº .dll
È®ÀåÀÚ¸¦ °¡Áø´Ù.
¾ÆÆÄÄ¡ 1.3 ¸ðµâÀ» ¾ÆÆÄÄ¡ 2.0¿¡¼ »ç¿ëÇÒ ¼ö ¾ø´Ù. ¾ÆÆÄÄ¡ 2.0ÀÌ µ¿ÀûÀ¸·Î ÀоîµéÀ̰ųª ¾ÆÆÄÄ¡¿Í °°ÀÌ ÄÄÆÄÀÏÇÏ·Á¸é ¸ðµâÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
À©µµ¿ìÁîÀÇ ¸ðµâ¸í Çü½ÄÀº ¾ÆÆÄÄ¡ 1.3.15¿Í 2.0¿¡¼ º¯°æµÇ¾ú´Ù. ¸ðµâ¸íÀº ÀÌÁ¦ mod_foo.so½ÄÀÌ´Ù.
mod_so´Â ¾ÆÁ÷µµ ApacheModuleFoo.dll ½ÄÀÇ ¸ðµâÀ» ÀоîµéÀÏ ¼ö ÀÖÁö¸¸, »õ·Î¿î À̸§ ±ÔÄ¢À» ¼±È£ÇÑ´Ù. ¸ðµâÀ» 2.0¿¡ ¸Â°Ô ¼öÁ¤ÇÑ´Ù¸é À̸§À» 2.0 ±ÔÄ¢¿¡ ¾Ë¸Â°Ô °íÄ¡±æ ¹Ù¶õ´Ù.
¾ÆÆÄÄ¡ ¸ðµâ API´Â À¯´Ð½º ¹öÀüÀ̰ųª À©µµ¿ìÁî ¹öÀüÀ̰ųª °°´Ù. ¸î¸î API´Â À©µµ¿ìÁî¿¡ ¾ø´Â À¯´Ð½º ±¸Á¶¿¡ ÀÇÁ¸Çϱ⶧¹®¿¡ »ç¿ëÇÒ ¼ö ¾øÁö¸¸, À¯´Ð½º¿¡¼ ½ÇÇàµÇ´Â ¸¹Àº ¸ðµâÀ» ¼öÁ¤¾øÀÌ È¤Àº Á¶±Ý ¼öÁ¤ÇÏ¿© À©µµ¿ìÁî¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¸ðµâÀº µÎ°¡Áö ¹æ¹ýÀ¸·Î ¼¹ö¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º¿¡¼´Â
¸ðµâÀ» ¼¹ö¿Í °°ÀÌ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡´Â
À¯´Ð½º¿Í ´Þ¸® Configure
ÇÁ·Î±×·¥ÀÌ ¾ø±â¶§¹®¿¡
¸ðµâÀÇ ¼Ò½ºÆÄÀÏÀ» ApacheCore ÇÁ·ÎÁ§Æ® ÆÄÀÏ¿¡ Ãß°¡ÇÏ°í, ½Éº¼À»
os\win32\modules.c
ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.
µÎ¹ø° ¹æ¹ýÀº ¸ðµâÀ» ¼¹ö°¡
Áö½Ã¾î¸¦
»ç¿ëÇÏ¿© ½ÃÀÛÇÒ¶§ ÀоîµéÀÏ ¼ö ÀÖ´Â °øÀ¯¶óÀ̺귯¸® DLL·Î
¸¸µå´Â °ÍÀÌ´Ù. ÀÌ ¸ðµâ DLLÀ» ¹èÆ÷ÇÏ¸é ¼¹ö¸¦ ÀçÄÄÆÄÀÏÇÏÁö
¾Ê°í ¾î¶² À©µµ¿ìÁî¿ë ¾ÆÆÄÄ¡¿¡¼µµ ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.LoadModule
¸ðµâ DLLÀ» ¸¸µé±âÀ§Çؼ´Â ¸ðµâÀÇ ¼Ò½ºÆÄÀÏÀ» Á¶±Ý ¼öÁ¤Çؾß
ÇÑ´Ù. DLLÀº module record¸¦ exportÇØ¾ß ÇÑ´Ù. (¾Æ·¡ Âü°í)
À̸¦ À§ÇØ ¸ðµâÀÇ module record Á¤ÀÇ¿¡ (¾ÆÆÄÄ¡ Çì´õÆÄÀÏ¿¡
Á¤ÀǵÈ) AP_MODULE_DECLARE_DATA
¸¦ Ãß°¡ÇÑ´Ù.
¿¹¸¦ µé¾î, ´ÙÀ½°ú °°Àº ¸ðµâÀÌ ÀÖ´Ù¸é:
module foo_module;
´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù:
module AP_MODULE_DECLARE_DATA foo_module;
ÀÌ ºÎºÐÀº À©µµ¿ìÁî¿¡¼¸¸ »ç¿ëÇϱ⶧¹®¿¡ º¯°æÇÏ¿©µµ À¯´Ð½º¿¡¼
¼Ò½º¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶Ç, .DEF
ÆÄÀÏ¿¡
Àͼ÷ÇÏ´Ù¸é ´ë½Å ÀÌ ÆÄÀÏÀ» »ç¿ëÇÏ¿© module record¸¦ exportÇÒ
¼öµµ ÀÖ´Ù.
ÀÌÁ¦ ¸ðµâÀ» Æ÷ÇÔÇÑ DLLÀ» ¸¸µç´Ù. À̸¦ °øÀ¯¶óÀ̺귯¸® libhttpd.dllÀ» ÄÄÆÄÀÏÇÒ¶§ ¸¸µç libhttpd.lib export ¶óÀ̺귯¸®¿Í ¸µÅ©ÇÑ´Ù. ¾ÆÆÄÄ¡ Çì´õÆÄÀÏÀ» ¿Ã¹Ù·Î ãµµ·Ï ÄÄÆÄÀÏ·¯ ¼³Á¤À» ¼öÁ¤ÇØ¾ß ÇÒÁöµµ ¸ð¸¥´Ù. ¼¹öÀÇ modules µð·ºÅ丮¿¡¼ ÀÌ ¶óÀ̺귯¸®¸¦ ãÀ» ¼ö ÀÖ´Ù. ÄÄÆÄÀÏȯ°æÀ» ¿Ã¹Ù·Î ¼³Á¤ÇϱâÀ§ÇØ ±âÁ¸ ¸ðµâÀÇ .dsp ÆÄÀÏÀ» °¡Á®´Ù ¾²°Å³ª Á÷Á¢ ¸¸µç .dsp¿Í ÄÄÆÄÀÏ·¯/¸µÄ¿ ¿É¼ÇÀ» ºñ±³ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
ÀÌÁ¦ ¸ðµâÀ» DLL·Î ¸¸µç´Ù. ÀÌ°ÍÀ» ¼¹öÀÇ
modules
µð·ºÅ丮¿¡ µÎ°í,
LoadModule
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÀоîµéÀδÙ.
¼³¸í: | ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδ٠|
---|---|
¹®¹ý: | LoadFile filename [filename] ... |
»ç¿ëÀå¼Ò: | ÁÖ¼¹ö¼³Á¤ |
»óÅÂ: | Extension |
¸ðµâ: | mod_so |
LoadFile Áö½Ã¾î´Â ¼¹ö°¡ ½ÃÀÛÇϰųª Àç½ÃÀÛÇÒ¶§ ÁöÁ¤ÇÑ ¸ñÀûÆÄÀÏÀ̳ª ¶óÀ̺귯¸®¸¦ ÀоîµéÀδÙ(link in). ÀÌ Áö½Ã¾î´Â ¾î¶² ¸ðµâÀÌ µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ Äڵ带 Ãß°¡·Î ÀоîµéÀ϶§ »ç¿ëÇÑ´Ù. 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 ÇÏÀ§µð·ºÅ丮¿¡¼ ÁöÁ¤ÇÑ ¸ðµâÀ» ÀоîµéÀδÙ.