Apache HTTP Server Version 2.4

| ¼³¸í: | ½ÃÀÛÇÒ¶§ ȤÀº Àç½ÃÀÛÇÒ¶§ ½ÇÇà°¡´ÉÇÑ ÄÚµå¿Í ¸ðµâÀ» ¼¹ö·Î ÀоîµéÀδ٠| 
|---|---|
| »óÅÂ: | 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 ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.
µÎ¹øÂ° ¹æ¹ýÀº ¸ðµâÀ» ¼¹ö°¡
    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 ÇÏÀ§µð·ºÅ丮¿¡¼ ÁöÁ¤ÇÑ ¸ðµâÀ» ÀоîµéÀδÙ.