mod_uploader: Apache ¤Î¥â¥¸¥å¡¼¥ë¤È¤·¤ÆÆ°ºî¤¹¤ë¡¤C++¤Çµ­½Ò¤µ¤ì¤¿¹â®¥¢¥Ã¥×¥í¡¼¥À

[ mod_uploader ¤È¤Ï? | ưºî¥µ¥ó¥×¥ë | ưºî´Ä¶­ | ¥À¥¦¥ó¥í¡¼¥É | ¥é¥¤¥»¥ó¥¹ | ¥Ð¥°¾ðÊó | ¥³¥ó¥Ñ¥¤¥ëÊýË¡ | ¥¤¥ó¥¹¥È¡¼¥ë | ÀßÄê | µ¯Æ° | ¥È¥é¥Ö¥ë¡¦¥·¥å¡¼¥Æ¥£¥ó¥° | ¥Æ¥ó¥×¥ì¡¼¥È¤Î½ñ¼° | ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ | API ¥É¥­¥å¥á¥ó¥È | ¥Ä¡¼¥ë | »²¹Íʸ¸¥ ]

mod_uploader ¤È¤Ï?

mod_uploader ¤Ï¡¤¤è¤¯¤¢¤ë¥¢¥Ã¥×¥í¡¼¥À¤ò Apache ¤Î¥â¥¸¥å¡¼¥ë¤È¤·¤Æ ¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¹¡¥°Ê²¼¤Î¤è¤¦¤ÊÆÃŤ¬¤¢¤ê¤Þ¤¹¡¥

ưºî¥µ¥ó¥×¥ë

http://acapulco.dyndns.org:8888/up/

ưºî´Ä¶­

mod_uploader ¤Ï¡¤UNIX ·Ï OS µÚ¤Ó Windows ¤Çưºî¤·¤Þ¤¹¡¥ ¾ÜºÙ¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡¥

UNIX ·Ï OS

³«È¯¤Ï¡¤Linux kernel 2.6.10¡¤GCC 3.3.5¡¤Apache 2.0.52¡¤ImageMagick 6.1.8.8 ¤Ç¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡¥

Windows

¥À¥¦¥ó¥í¡¼¥É

¥é¥¤¥»¥ó¥¹

The zlib/libpng License (ËÝÌõ) ¤Ë½¾¤¤¤Þ¤¹¡¥

¥Ð¥°¾ðÊó

¥Ð¥°¾ðÊó

¥Ð¥°¤ò¸«¤Ä¤±¤¿¾ì¹ç¤Ï¡¤¥ê¥ó¥¯Àè¤Î¡Ö¿·µ¬¥ì¥Ý¡¼¥È¡×¤«¤é½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡¥

¥³¥ó¥Ñ¥¤¥ëÊýË¡

UNIX ·Ï OS

GCC ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¤

$ ./configure
$ make

¤È¤·¤Þ¤¹¡¥Intel C++ Compiler ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¤

$ CC=icc ./configure
$ make

¤È¤·¤Þ¤¹¡¥

configure ¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡¥¥¨¥é¡¼¤¬¤Ç¤¿¾ì¹ç¤Ï¡¤--with-apxs2 ¡¤--with-aprconf ¤ä --enable-iconv-const ¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥

--with-apxs2=APXS
apxs ¥³¥Þ¥ó¥É¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥¼«Æ°Åª¤Ë¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¤Ë»ÈÍѤ· ¤Þ¤¹¡¥
--with-ap2ctl=APCTL
apachectl ¥³¥Þ¥ó¥É¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥¼«Æ°Åª¤Ë¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¤Ë»È ÍѤ·¤Þ¤¹¡¥
--with-aprconf=APRCONF
apr-config ¥³¥Þ¥ó¥É¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥¼«Æ°Åª¤Ë¸¡½Ð¤µ¤ì¤Ê¤¤¾ì¹ç¤Ë »ÈÍѤ·¤Þ¤¹¡¥
--with-march=CPU
ÆÃÄê¤Î CPU ¸þ¤±¤ËºÇŬ²½¤·¤¿¤¤¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡¥Î㤨¤Ð¡¤Pentium 4 ¤ËºÇŬ²½¤·¤¿¤¤¾ì¹ç¤Ï¡¤--with-march=pentium4 ¤È¤·¤Þ¤¹¡¥
--enable-thumbnail
»ØÄꤹ¤ë¤È¡¤ThumbDirectory ¤Ç»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥µ¥à¥Í¥¤¥ë²èÁü¤ò À¸À®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
--with-mconf
Magick++-config ¥³¥Þ¥ó¥É¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥¼«Æ°Åª¤Ë¸¡½Ð¤µ¤ì¤Ê¤¤¾ì ¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡¥
--with-writer=TYPE
¥Õ¥¡¥¤¥ë¤ò½ñ¤­½Ð¤¹ÊýË¡¤ò»ØÄꤷ¤Þ¤¹¡¥basic ¤È mmap ¤¬»ØÄê²Äǽ¤Ç¤¹¡¥ (¥Ç¥Õ¥©¥ë¥È: basic)
--enable-iconv-const
iconv ¤ÎÂèÆó°ú¿ô¤Ë const ¤ò¤Ä¤±¤ë¤«¤É¤¦¤«¡¥FreeBSD Åù¤ò»ÈÍѤ·¤Æ¤¤¤ë ¾ì¹ç¤Ï»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
--with-ie-name-code=CODE
Internet Explorer ¤ËÂФ·¤Æ¥Õ¥¡¥¤¥ë̾¤ò½ÐÎϤ¹¤ë¤È¤­¤Îʸ»ú¥³¡¼¥É¡¥ (¥Ç¥Õ¥©¥ë¥È: cp932)

Windows

¤Þ¤º¡¤UNIX ·Ï OS ¤Ç configure ¤·¤Þ¤¹¡¥

$ ./configure

¼¡¤Ë¡¤¥Ç¥£¥ì¥¯¥È¥ê¤ò´Ý¤´¤È Windows ¤Ë¥³¥Ô¡¼¤·¡¤src/GNUmakefile.win32 ¤Î¼¡¤ÎÉô ʬ¤ò¡¤Apache ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤ÓImageMagick ¤ò¥¤¥ó ¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­´¹¤¨¤Þ¤¹¡¥

APACHERDIR  := C:/Server/Apache2
MAGICKDIR   := C:/Application/Image/Edit/ImageMagick

°Ê¾å¤¬´°Î»¤·¤¿¤é¡¤src/GNUmakefile.win32 ¤ò»È¤Ã¤Æ make ¤·¤Þ¤¹¡¥

> cd src
> vsvars32.bat
> make -f GNUmakefile.win32

vsvars32.bat ¤Ï¡¤¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é Visual C++ ¤ò»È¤¦¤¿¤á¤Î´Ä¶­ÀßÄê ¤ò¹Ô¤¦¥¹¥¯¥ê¥×¥È¤Ç¤¹¡¥Visual C++ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼ ¤Î Common7/Tools ¤Ë¤¢¤ê¤Þ¤¹¡¥

¥¤¥ó¥¹¥È¡¼¥ë

UNIX ·Ï OS

¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤À¤±¤Ç OK ¤Ç¤¹¡¥

$ su
# make install

Windows

¥³¥ó¥Ñ¥¤¥ë or ¥À¥¦¥ó¥í¡¼¥É¤·¤¿ mod_uploader.so ¤ò Apache ¤ò¥¤¥ó¥¹¥È¡¼ ¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¤¢¤ë modules ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¡¤Apache ¤ÎÀßÄê¥Õ¥¡¥¤¥ë (httpd.conf) ¤Ë

LoadModule uploader_module modules/mod_uploader.so

¤òÄɲä·¤Þ¤¹¡¥

¼¡¤Ë¡¤´Ä¶­ÊÑ¿ô APR_ICONV_PATH ¤Ë¡¤Apache ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯ ¥È¥ê°Ê²¼¤Ë¤¢¤ë bin/iconv ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤¬Àµ ¾ï¤Ë¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤È¡¤¡Öʸ»ú¥³¡¼¥É¤ÎÊÑ´¹¤ò¹Ô¤¦¥³¥ó¥Ð¡¼¥¿¤¬Â¸ºß¤·¤Þ¤» ¤ó¡¥¡×¤È¤¤¤¦¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡¥

ÀßÄê

ÀßÄê¤Ï¡¤Apache ¤ÎÀßÄê¥Õ¥¡¥¤¥ë(.htaccess ¤ÏÉÔ²Ä)¤Ë¡¤°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò ¤·¤Þ¤¹¡¥(* °õ¤¬¤Ä¤¤¤Æ¤¤¤ë¤â¤Î¤Ïɬ¿Ü) ¥Æ¥ó¥×¥ì¡¼¥È¤Ï¡¤tmpl ¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤Ã¤Æ¤¤¤ë view.htm¡¤download.htm¡¤ thumbnail.htm¡¤error.htm ¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥

<Location ¥¢¥Ã¥×¥í¡¼¥À¤òÀßÃÖ¤¹¤ë¾ì½ê>
    SetHandler              uploader

    Url                     ¥¢¥Ã¥×¥í¡¼¥À¤Î URL (RSS ¤ÎÀ¸À®¤ËÍøÍÑ)

    FileDirectory           ¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê [*]
    ThumbDirectory          ¥µ¥à¥Í¥¤¥ë²èÁü¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê [*]
    TmpDirectory            °ì»þ¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê [*]
    LockDirectory           ¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê [*]

    MaxFileSize             °ì²ó¤Ë¥¢¥Ã¥×¥í¡¼¥É¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤ÎºÇÂ祵¥¤¥º(KB)
    TotalFileSizeLimit      ¥Õ¥¡¥¤¥ë¤Î¹ç·×¥µ¥¤¥º¤Î¾å¸ÂÃÍ(KB)
    TotalFileNumberLimit    ¥Õ¥¡¥¤¥ë¤Î¸Ä¿ô¤Î¾å¸ÂÃÍ
    PerPageItemNumber       1 ¥Ú¡¼¥¸¤¢¤¿¤ê¤Ëɽ¼¨¤¹¤ë¥¢¥¤¥Æ¥à¿ô

    ViewTemplateFile        ¥È¥Ã¥×¥Ú¡¼¥¸¤Î¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë [*]
    DownloadTemplateFile    DL pass ÆþÎϲèÌ̤Υƥó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë [*]
    ThumbTemplateFile       ¥µ¥à¥Í¥¤¥ë¥Ú¡¼¥¸¤Î¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë [*]
    ErrorTemplateFile       ¥¨¥é¡¼¥Ú¡¼¥¸¤Î¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë [*]
</Location>

http://foo/up ¤ËÀßÃÖ¤¹¤ë¾ì¹ç¤ÎÀßÄêÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥/css ¤ä /thumb ¤Î Alias ¤Ïɬ¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¥Æ¥ó¥×¥ì¡¼¥È¤ò½ñ¤­´¹¤¨¤¿¤¯¤Ê¤¤ ¾ì¹ç¤Ë»ØÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥(¤³¤ì¤Ï¤¢¤¯¤Þ¤Ç¤âÎã¤Ç¤¹¡¥¥Ç¥£¥ì¥¯¥È¥ê¤ä ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤Ï´Ä¶­¤è¤Ã¤Æ°ã¤Ã¤Æ¤­¤Þ¤¹)

<Location /up>
    SetHandler              uploader

    Url                     "http://acapulco.dyndns.org/up/"

    FileDirectory           "Z:/prog/Apache/Uploader/file"
    ThumbDirectory          "Z:/prog/Apache/Uploader/thumb"
    TmpDirectory            "Z:/prog/Apache/Uploader/tmp"
    LockDirectory           "Z:/prog/Apache/Uploader/lock"

    MaxFileSize             1024
    TotalFileSizeLimit      10240
    TotalFileNumberLimit    1000
    PerPageItemNumber       20

    ViewTemplateFile        "Z:/prog/Apache/Uploader/tmpl/view.htm"
    DownloadTemplateFile    "Z:/prog/Apache/Uploader/tmpl/download.htm"
    ThumbTemplateFile       "Z:/prog/Apache/Uploader/tmpl/thumbnail.htm"
    ErrorTemplateFile       "Z:/prog/Apache/Uploader/tmpl/error.htm"
</Location>

Alias   /css    "Z:/prog/Apache/Uploader/css"
Alias   /thumb  "Z:/prog/Apache/Uploader/thumb"

ImageMagick ¤ÎÀßÄê

Windows ¤Ç¥µ¥à¥Í¥¤¥ëºîÀ®µ¡Ç½¤ò»È¤¦¾ì¹ç¡¤´Ä¶­ÊÑ¿ô PATH ¤Ë¡¤ ImageMagick ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê (CORE_RL_*.dll ¤¬¤¢¤ë¥Ç¥£ ¥ì¥¯¥È¥ê) ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡¥

Ãí°Õ»ö¹à

µ¯Æ°

Apache ¤òÉáÄ̤˵¯Æ°¤¹¤ì¤Ð OK ¤Ç¤¹¡¥

¥È¥é¥Ö¥ë¡¦¥·¥å¡¼¥Æ¥£¥ó¥°

¥¢¥¯¥»¥¹¤¹¤ë¤È Internal Server Error ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¥

mod_uploader ¤ò¼Â¹Ô¤¹¤ë¤Î¤ËɬÍפʴĶ­¤¬À°¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡¥ ¤³¤Î¾ì¹ç¡¤Apache ¤Î¥¨¥é¡¼¥í¥°¤Ë¡¤¡ÖException: \xc0\xdf\xc4\xea\xcf\xb3\xa4\xec\xa4\xac\xa4\xa2\xa4\xea\xa4\xde\xa4\xb9\xa1\xa5 ¡×¤Î¤è¤¦¤Ê½ÐÎϤ¬½Ð¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡¥Exception °Ê¹ß¤Îʸ»úÎó¤ò¥³¥Ô¡¼¤· ¤Æ¡¤¥³¥ó¥½¡¼¥ë¤Ç°Ê²¼¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥ÆüËܸì¤Î ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥

$ perl -e 'print "\xc0\xdf\xc4\xea\xcf\xb3\xa4\xec\xa4\xac\xa4\xa2\xa4\xea\xa4\xde\xa4\xb9\xa1\xa5", "\n"'
ÀßÄêϳ¤ì¤¬¤¢¤ê¤Þ¤¹¡¥

ICC ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¤¥¨¥é¡¼²èÌ̤¬½Ð¤º¤Ë Internal Server Error ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¥

²¼µ­¤Î¤è¤¦¤Ë¡¤LD_PRELOAD ¤Ë libunwind.so.5 ¤ò»ØÄꤷ¤Ê¤¬¤é Apache ¤ò µ¯Æ°¤·¤¿¤é¾É¾õ¤¬²þÁ±¤¹¤ë¾ì¹ç¡¤ICC ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹¡¥ ¤â¤¦°ìÅÙÀßÄê¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡¥

$ LD_PRELOAD=/opt/intel_cc_81/lib/libunwind.so.5 "Apache ¤Îµ¯Æ°¥³¥Þ¥ó¥É"

¥Æ¥ó¥×¥ì¡¼¥È¤Î½ñ¼°

Comming soon...

¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹

¹â®¤Êɽ¼¨

°ìÉô֤˽èÍý¤Ç¤­¤ë¥ê¥¯¥¨¥¹¥È¿ô mod_uploader ¤Ï¡¤É½¼¨¤òÈó¾ï¤Ë¹â®¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥ ±¦¤Ë¾¤Î¥¢¥Ã¥×¥í¡¼¥À¤È¤Î®ÅÙÈæ³Ó¤ò¼¨¤·¤Þ¤¹¡¥HTML ¤Ï¡¤É½¼¨¤òÀÅŪ¤Ê HTML ¤Ç¹Ô¤¦¤â¤Î¡¤Perl ¤ª¤è¤Ó PHP ¤Ï¤½¤ì¤¾¤ì¤Î¸À¸ì¤Çºî¤é¤ì¤¿¥¢¥Ã¥×¥í¡¼ ¥À¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡¥Â¬Äê¤Ë¤Ï ApacheBench ¤òÍѤ¤¡¤5 ÊÂÎó¤Ç 10,000 ¥ê¥¯ ¥¨¥¹¥Èȯ¹Ô¤·¤¿¾ì¹ç¤ÎÃͤò¥×¥í¥Ã¥È¤·¤Þ¤·¤¿¡¥

mod_uploader ¤Ï Perl ¤ÎÌó 100 ÇÜ¡¤PHP ¤ÎÌó 10 Çܹ⮤Ëưºî¤·¤Æ¤¤¤Þ¤¹¡¥ ¤¿¤À¤·¡¤¤³¤ì¤é¤Î¸À¸ì¤ò»È¤Ã¤¿¾ì¹ç¡¤ mod_perl (ModPerl::Registry) ¤ä APC ¤ò»ÈÍѤ¹¤ì¤Ð¡¤ ¤¢¤ëÄøÅÙ®ÅÙ¤ò²þÁ±¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤½¤ì¤Ç¤â¡¤mod_uploader ¤Ë¤ÏµÚ ¤Ó¤Þ¤»¤ó¡¥ ¤Þ¤¿¡¤mod_uploader ¤Ï¡¤ÀÅŪ¤Ê HTML ¤òÍѤ¤¤ë¤â¤Î¤ÈÈæ¤Ù¤Æ¤â¤ï¤º¤« ¤Ê¤¬¤é¹â®¤Ëưºî¤·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤É½¼¨¤ËÀÅŪ¤Ê HTML ¤òÍѤ¤¤ë¾ì¹ç¤Ç¤â¡¤ ¥¢¥Ã¥×¥í¡¼¥É½èÍý¤Î¤¿¤á¤Ë¤Ï libphp4.so ¤ò¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¤¤½ ¤Î¤¿¤á¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¤«¤«¤Ã¤Æ¤¤¤ë¤Î¤¬¸¶°ø¤È»×¤ï¤ì¤Þ¤¹¡¥ libphp4.so ¤Î¥í¡¼¥É¤ò̵¤¯¤·¤¿¾ì¹ç¡¤HTML ¤ÎÃÍ¤Ï 2,800 ¤òͤ¨¤ÆºÇ®¤Ë ¤Ê¤ê¤Þ¤¹¡¥

¾Ê¥á¥â¥ê¤Î¥¢¥Ã¥×¥í¡¼¥É

500MB ¤Î¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤¿ºÝ¤Î Apache ¤Î¥á¥â¥ê»ÈÍÑÎ̤οä°Ü mod_uploader ¤Ï¡¤µðÂç¤Ê¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤Ë¤â¤ï¤º¤«¤Ê¥á¥â¥ê¤·¤« ¾ÃÈñ¤·¤Þ¤»¤ó¡¥ ¤½¤ì¤ËÂФ·¤Æ¥¢¥Ã¥×¥í¡¼¥À¤Î¿¤¯¤Ï¡¤¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤ò°ìöÁ´¤Æ ¥á¥â¥ê¤ËÆþ¤ì¤Æ½èÍý¤¹¤ë¤¿¤á¡¤¥¢¥Ã¥×¥í¡¼¥É¤Ë¤Ï¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ËÈæÎ㤷¤¿ ¥µ¥¤¥º¤Î¥á¥â¥ê¤ò¾ÃÈñ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥

±¦¤Ë¡¤mod_uploader ¤Ç Ìó 500MB ¤Î¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤¿ºÝ¤Î¡¤ Apache ¤Î¥á¥â¥ê»ÈÍÑÎ̤οä°Ü¤ò¼¨¤·¤Þ¤¹¡¥mod_uploader ¤Ï¡¤¤ï¤º¤« 20 MB ÄøÅ٤Υá¥â¥ê¤·¤«¾ÃÈñ¤·¤Æ¤¤¤Þ¤»¤ó¡¥Æ±ÍͤνèÍý¤ò¾Ê¥á¥â¥êưºî¤ò¹Íθ ¤·¤Æ¤¤¤Ê¤¤¥¢¥Ã¥×¥í¡¼¥À¤Ç¹Ô¤Ã¤¿¾ì¹ç¡¤¤³¤ÎÃÍ¤Ï 500 MB °Ê¾å¤Ë¤Ê¤Ã¤Æ¤·¤Þ ¤¤¤Þ¤¹¡¥

API ¥É¥­¥å¥á¥ó¥È

http://acapulco.dyndns.org/mod_uploader/api/

¥Ä¡¼¥ë

¥×¥í¥°¥é¥à¤ÎºîÀ®¤Ë¤¢¤¿¤Ã¤Æ¤ªÀ¤Ïäˤʤ俥ġ¼¥ë¤ò¾Ò²ð¤·¤Þ¤¹¡¥

Valgrind
¥á¥â¥ê¤ÎÉÔÀµ¤Ê»²¾È¤ä²òÊü¤·Ëº¤ì¤Ê¤É¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤ì¤ë¥Ä¡¼¥ë¡¥¥Ç¥Ð¥Ã ¥°¤Ç¤«¤Ê¤ê¤ªÀ¤Ïäˤʤê¤Þ¤·¤¿¡¥

»²¹Íʸ¸¥

Apache¥â¥¸¥å¡¼¥ë ¥×¥í¥°¥é¥ß¥ó¥°¥¬¥¤¥É ¥×¥í¥°¥é¥à¤ÎºîÀ®¤Ë¤¢¤¿¤Ã¤Æ¤ªÀ¤Ïäˤʤä¿Ê¸¸¥¤ò¾Ò²ð¤·¤Þ¤¹¡¥

Apache¥â¥¸¥å¡¼¥ë ¥×¥í¥°¥é¥ß¥ó¥°¥¬¥¤¥É
Apache ¤Î¥â¥¸¥å¡¼¥ëºîÀ®¤ËɬÍפˤʤë»öÊÁ¤ò°ìÄ̤êÀâÌÀ¤·¤¿ËÜ¡¥áÚ¤¤¤È ¤³¤í¤Ë¼ê¤¬ÆÏ¤¤¤Æ¤¤¤ë¤Î¤Ç¡¤¼ê¸µ¤ËÃÖ¤¤¤Æ¤ª¤¯¤È½ÅÊõ¤·¤Þ¤¹¡¥
Advanced Topics in Module Design: Threadsafety and Portability
Apache2 ¤Ç¥â¥¸¥å¡¼¥ë¤òºîÀ®¤¹¤ë¤È¤­¤ËɬÍפˤʤäƤ¯¤ë¥Æ¥¯¥Ë¥Ã¥¯¤¬²ò À⤵¤ì¤¿¥Ñ¥ï¥Ý¡¥¤½¤ó¤Ê¤ËŤ¯¤Ê¤¤¤Î¤Ç¡¤¥â¥¸¥å¡¼¥ë½ñ¤¯Á°¤Ë¤µ¤é¤Ã¤ÈÆÉ ¤ó¤Ç¤ª¤­¤Þ¤·¤ç¤¦¡¥
Apache API C++ Cookbook
C++ ¤ò»È¤Ã¤Æ Apache ¤Î¥â¥¸¥å¡¼¥ë¤òºîÀ®¤¹¤ëºÝ¤ÎÃí°Õ»ö¹à¤Ë¤Ä¤¤¤ÆÀâÌÀ ¤·¤¿¥µ¥¤¥È¡¥
STL¤Î¥Ú¡¼¥¸
C++ ¤Îɸ½à¥Æ¥ó¥×¥ì¡¼¥È¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ë STL ¤Ë¤Ä¤¤¤Æ´Ê·é¤Ë¤Þ¤È¤á¤é¤ì ¤¿¥µ¥¤¥È¡¥
RubyExtensionProgrammingGuide
Ruby ¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Î½ñ¤­Êý¤ò²òÀ⤷¤¿¥µ¥¤¥È¡¥´ðËÜŪ¤Ê»ö¹à¤«¤é¾¯¤· ¹âÅÙ¤ÊÏÃÂê¤Þ¤ÇÈó¾ï¤ËÎɤ¯¤Þ¤È¤Þ¤Ã¤Æ¤Þ¤¹¡¥
Compiler Construction Lecture ΰµåÂç³Ø by ²ÏÌî¿¿¼£
¥³¥ó¥Ñ¥¤¥éºîÀ®¤Ë´Ø¤¹¤ë¼ÂÁ©Åª¤ÊÆâÍÆ¤¬´Ê·é¤Ë¤Þ¤È¤á¤é¤ì¤¿¥µ¥¤¥È¡¥´Êñ ¤Ê¥¤¥ó¥¿¥×¥ê¥¿¤â¤É¤­¤òºî¤ë¤ó¤À¤Ã¤¿¤é¡¤¤³¤Î¥µ¥¤¥È¤À¤±¤Ç½½Ê¬¤«¤â¡¥