Apache PHP Mysql ¿¬µ¿ | ÀÛ¼ºÀÏ : 2007/02/23 12:00 |
Á¶È¸¼ö : 16935 |
====================================================================================== °ü·Ã configure optionÀº ÇÊ¿äÇÑ ¿É¼Ç È®ÀÎÇϼż Ãß°¡ÇÏ¼Å¾ß ÇÑ ´Ù´Â°É ÀØÀ¸½Ã¸é ¾ÈµË´Ï´Ù. ====================================================================================== Ä¿ÇǴнº ½ÎÀÌÆ®¿¡ APM ¼³Ä¡ °ü·Ã ³»¿ëÀÌ ¾ø´õ±º¿ä. ¾Æ¸¶µµ APMÀº Ưº°ÇÏ°Ô ±ÔÁ¤À» Áþ±â°¡ ¾Ö¸ÅÇÑ »çÇ×ÀÌ ¸¹¾Æ¼ ±×·¯¸®¶ó º¸¿©Áý´Ï´Ù. ¿¹Àü¿¡ ½á µÎ¾ú´ø ³»¿ë ±×´ë·Î ¿Ã¸³´Ï´Ù. È®ÀÎÇØ º¸¼¼¿ä. selinux°¡ ¿Ã¶ó°¡¸é¼ ½Å°æ½á Áà¾ßÇÒ ºÎºÐÀÌ »ý±â´õ±º¿ä. ¿À·£¸¸¿¡ APMÀ» ¼³Ä¡ÇÏ¸é¼ Àû¾î µÎ¾ú´ø ºÎºÐÀÔ´Ï´Ù. (¼¹ö¸¦ ¸ø ¸¸Áö´Ù º¸´Ï.. ½É½ÉÇÒ¶§.. Çѹø ÇغýÀ´Ï´Ù.) ** worker.c ¿¡¼ '#define DEFAULT_SERVER_LIMIT 1024' ¼öÁ¤ÈÄ ¼³Ä¡ Ãß°¡ ** Apache, PHP, Mysql ¿¬µ¿ ¼³Ä¡ ÀÛ¼ºÀÚ : ·ù¹ü·æ ÀÛ¼ºÀÏ : 2005³â 1¿ù 5ÀÏ Ãß°¡ÀÛ¼ºÀÏ : 2005³â 1¿ù 12ÀÏ Ãß°¡¼öÁ¤ÀÏ : 2005³â 12¿ù 22ÀÏ 2006³â 11¿ù 20ÀÏ - os version : redhat 9.0 -> fedora4 - apm version º¯°æ - ´Ù¿î·Îµå path º¯°æ. - mysql : binary ¼³Ä¡¿¡¼ --> source ¼³Ä¡·Î º¯°æ. ¼³Ä¡ ȯ°æ : fedora 4 ¼³Ä¡ ¹öÁ¯ : apache 2.0.59 / php 5.2.0 / mysql 5.0.27 ´Ù¿î·Îµå apache -> http://apache.org -> # wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.0.59.tar.gz php -> http://php.net -> # wget http://kr2.php.net/get/php-5.2.0.tar.gz/from/kr.php.net/mirror mysql -> http://mysql.com -> # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.new21.com/ # mysql ¼³Ä¡ # :mysqlÀº ¼¼°¡Áö ¼³Ä¡ ¹æ¹ýÀÌ ÀÖ´Ù. binary, rpm, sourceÀÌ ÀÖ´Ù. - binary : binary´Â ÇØ´ç ¿î¿µÃ¼Á¦¿¡ ¸Â°Ô ¹Ì¸® ÄÄÆÄÀÏµÈ °ÍÀ» ¸»ÇÑ´Ù. tar·Î ¹¿© ÀÖÀ¸¸ç, tar¸¦ Ǫ´Â°ÍÀ¸·Î °ð¹Ù·Î »ç¿ëÀÌ °¡´ÉÇÏ´Ù. »ç¿ëÇϱâÀ§ÇÑ ³»¿ëÀº tar¸¦ Ç®°í, ÇØ´ç µð·ºÅ丮ÀÇ ¼³Ä¡ ¹®¼¸¦ ÀÐÀ¸¸é ³ª¿Â´Ù.(ÇØ´ç ¿î¿µÃ¼Á¦¿¡ ÃÖÀûÈ µÈ°Å¶ó°í ÇÑ´Ù. ´ëºÎºÐÀÌ binary¸¦ »ç¿ëÇÏ´Â Ãß¼¼ÀÌ´Ù.) - rpm (RedHat Package manager): rpm ÆÐÅ°Áö´Â ¼Ò½º ÆÐÅ°Áö, ¹ÙÀ̳ʸ® ÆÐÅ°Áö·Î ±¸ºÐ µÇ¾î Áø´Ù. ¼Ò½º ÆÐÅ°Áö´Â '.src.rpm' ·Î ³¡³ª¸ç, ¹ÙÀ̳ʸ® ÆÐÅ°Áö(rpm ¹öÁ¯)À» ¸¸µé±â À§ÇØ »ç¿ëµÇ¾îÁø´Ù. ¹ÙÀ̳ʸ® ÆÐÅ°Áö´Â '.i386.rpm'À̳ª '.noarch.rpm' ·Î ³¡³ª¸ç, À§ÀÇ ¹ÙÀ̳ʸ®¿Í °°ÀÌ ÄÄÆÄÀÏ, ¸µÅ© ¿Ï·á, ½ÇÇàÆÄÀϵéÀÌ Æ÷ÇԵǾî ÀÖ¾î¼, ÀÏÀÏÀÌ ¼Ò½º¸¦ ÄÄÆÄÀÏÇØÁÖ°í, PATH ¹× ½ÇÇà ÆÄÀÏÀ» ¿Å°ÜÁÙ ÇÊ¿ä ¾øÀÌ ½ÇÇàÀÌ °¡´ÉÇØÁø´Ù. (´Ù¸¥ Àǹ® »çÇ×Àº rpm À» ã¾Æ¼ Àо¸é µÈ´Ù.) - source : source ¸»±×´ë·Î source À̸ç, ÄÄÆÄÀÏÇؼ »ç¿ëÇÏ¸é µÈ´Ù. ¼³Ä¡ ¹æ¹ýÀº source directory ¾ÈÀÇ ¼³Ä¡ ¹®¼¸¦ ÀÐ¾î º¸¸é ³ª¿Â´Ù. * mysqlÀº ¼³Ä¡°¡ ½±°í, ¿î¿ëüÁ¦¿¡ ÃÖÀûÈµÈ binary¸¦ »ç¿ëÇÑ´Ù.(¸ðµç ÇÁ·Î±×·¥¿¡¼ binary·Î ¼³Ä¡Çϴ°ÍÀº ¾Æ´Ï´Ù.) mysql´Â Ưº°È÷ binary°¡ µû·Î Á¸ÀçÇÏ°í, ´Ù¸¥ ÆÐÅ°Áö¿¡¼ binary¶õ, ÈçÈ÷ rpmÀ» ¸»ÇÑ´Ù. (À̹ø ¹öÁ¯¿¡¼´Â source ¼³Ä¡¸¦ ÇÕ´Ï´Ù. ) 1. ±âÁ¸¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â rpm ÆÐÅ°Áö¸¦ »èÁ¦ÇؾßÇÕ´Ï´Ù.(rpmÀ¸·Î ¹Ì¸® ¼³Ä¡µµ¾î Àִ°æ¿ì) --> rpmÀ¸·Î ¼³Ä¡½Ã ±âº»ÀûÀ¸·Î server, client, dev °¡ ¼³Ä¡µÈ´Ù. (server,client ´Â ¼³¸íÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ¸¸ç, dev´Â development ¸¦ Æ÷ÇÔÇϴ°ÍÀÌ´Ù.) # rpm -qa | grep mysql <-- rpmÀ¸·Î ¼³Ä¡ µÇ¾î ÀÖ´ÂÁö È®ÀÎ. # rpm -e --nodeps mysql-devel-xxx <-- Á¸Àç ÇÏ¸é »èÁ¦ # rpm -e --nodeps mysql-server-xxxx <-- Á¸Àç ÇÏ¸é »èÁ¦ # rpm -e --nodeps mysql-client-xxxx <-- Á¸Àç ÇÏ¸é »èÁ¦ * »èÁ¦ÇÒ ÆÐÅ°Áö´Â Á¤ÇØÁ® ÀÖ´Â°Ô ¾Æ´Õ´Ï´Ù. rpm -qa ¸¦ ÅëÇØ È®ÀÎÈÄ Áö¿ì½Ã¸é µË´Ï´Ù. 2. ´Ù¿î ·Îµå # cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.new21.com/ * # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.new21.com/ ¿¡¼ ´Ù¿î·Îµå ¹ÞÀ¸½Ã¸é µË´Ï´Ù. ¿øÇϽô ¹öÁ¯À» mysql -> http://mysql.com¿¡¼ È®ÀÎÈÄ ¹ÞÀ¸¼¼¿ä! ´Ù¿î·Îµå´Â "/usr/local/src/mysql" ¹Þ½À´Ï´Ù. ÀÓÀÇ·Î º¯°æÇϼŵµ ¹«¹æÇÕ´Ï´Ù. 3. »ç¿ëÀÚ Ãß°¡ / DB »ý¼º / DB ±¸µ¿ (¼³Ä¡ ¹®¼ " /usr/local/src/INSTALL-SOURCE ") # groupadd mysql # useradd -g mysql mysql # cd /usr/local/src/ # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz/from/http://mysql.new21.com/ # tar xvfz mysql-5.0.27.tar.gz # cd mysql-5.0.27 # ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr --with-pthread --enable-thread-safe-client # make ; make install # ./support-files/my-medium.cnf /etc/my.cnf # cd /usr/local/mysql # bin/mysql_install_db --user=mysql # chown -R root . # chown -R mysql data # chgrp -R mysql . # bin/mysqld_safe --user=mysql & # cd /usr/local/src/mysql-5.0.27 # cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 3 mysqld on # chkconfig --level 5 mysqld on # chkconfig --list mysqld ** ¼³Ä¡ ¿É¼ÇÀÇ "--enable-thread-safe-client" ´Â ²À ºÙ¿© Áà¾ß ÇÑ´Ù. apache compile½Ã ±âº»ÀûÀ¸·Î thread mode·Î ¼³Ä¡°¡ µÇ±â ¶§¹®¿¡ À§ÀÇ ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ» °æ¿ì ¿¬µ¿ÀÌ µÇÁö ¾Ê°í, php configure ½Ã¿¡ mysql-client ¿¡·¯°¡ ¹ß»ýÇÑ´Ù." ** * mysqlÀº ±âº»ÀûÀ¸·Î mysql À̶ó´Â »ç¿ëÀÚ·Î ±¸µ¿µÇ¾îÁý´Ï´Ù. ±×·¡¼ mysqlÀ̶õ »ç¿ëÀÚ¸¦ ¸¸µé¾îÁÖ°í, ±×¿¡ ¸ÂÃç¼ ½ÇÇàÇØ Áִ°ÍÀÌÁÒ. root·Î ½ÇÇà ÇÏ°íÀÚ ÇϽŴٸé # bin/mysql_install_db --user=mysql &<-- Db »ý¼ºÀ» ÇØ Áà¾ß ÇÕ´Ï´Ù. /usr/local/mysql/data Æú´õ°¡ »ý¼ºµË´Ï´Ù. # bin/mysqld_safe --user=root & (root·Î ½ÇÇà ÇÏ·Á°í ÇÒ¶§, ¾Æ¹«°Íµµ ¾øÀ» ¶§¿¡´Â mysql user·Î ±¸µ¿µÇ´Â °Ì´Ï´Ù.) * mysql »ç¿ëÀÚ¸¦ »ç¿ë ¾È ÇϽǰæ¿ì¿¡´Â " #useradd mysql " À» ÇÏ½Ç ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. È®½ÇÈ÷ ¾Æ¼Å¾ß ÇÒ°ÍÀº " # bin/mysqld_safe & " ¿©±â¼´Â mysqlÀ» ±âÁØÀ¸·Î ÇÕ´Ï´Ù. "bin/mysqld_safe & " ¸¸ ÇϽŴٸé, default·Î mysql °èÁ¤À¸·Î ½ÇÇà(bin/mysqld_safe --user=mysql &)ÇÏ´Â°Å¿Í µ¿ÀÏÇÕ´Ï´Ù. 4. /etc/my.cnf ÀÛ¼º http://dev.mysql.com/doc/mysql/en/Server_options.html ¿¡ °¡¸é È®ÀÎ °¡´ÉÇÏ´Ù. 5. º¸¾ÈÀ» À§ÇÑ mysql »ç¿ëÀÚ ¸·±â! # usermod -s /bin/nologin mysql # passwd -l mysql * fedora 4 ¿¡¼´Â /bin/nologin ¶ó´Â ºó shellÀÌ ÀÖ´Ù. ÀÌ ºó ÆÄÀÏÀ» »ç¿ëÀÚ shell·Î ÁöÁ¤Çϴ°ÍÀÌÁÒ. ·Î±ëÀÌ ºÒ°¡´ÉÇÏ°ÚÁÒ? shellÀ» ºÎ¿© ¹ÞÁö ¸øÇϴ°ÍÀ̴ϱî¿ä. Ãß°¡ÀûÀ¸·Î password¿¡ lockÀ» °É¾î¼ »ç¿ëÀ» ¸øÇÏ°Ô ¸·¾Ò½À´Ï´Ù. ¸í·É ¼³¸íÀ» man page¸¦ ÂüÁ¶Çϼ¼¿ä! ¹«ÇÑÇÑ ÆÄ¿öÀÇ man page!! 6. ºÎÆýà ÀÚµ¿À¸·Î ½ÇÇàÇϱâ # cp /usr/local/src/mysql-5.0.27/support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 3 mysqld on # chkconfig --level 5 mysqld on # chkconfig --list mysqld * Ȥ ´Ù¸¥ À§Ä¡¿¡ mysql ¼³Ä¡ µð·ºÅ丮¸¦ ¼³Ä¡ Çß´Ù¸é, vi /etc/init.d/mysqld ¸¦ ¿°í, basedir= ºÎºÐ¿¡ ±× °æ·Î¸¦ Àû¾î ÁּžßÇÕ´Ï´Ù. À§ ó·³ /usr/local/mysql À̶ó¸é, °íÄ¡½Ç ÇÊ¿ä´Â ¾ø½À´Ï´Ù. Âü°í /usr/local/src/mysql-5.0.27/INSTALL-SOURCE < ¸ðµç ¼³Ä¡ °ü·Ã ³»¿ëÀº ´Ù¿î ¹ÞÀ¸½Å ¼Ò½º ÆÄÀϾÈÀÇ install ¹®¼³ª README ÆÄÀÏ¿¡ ´Ù µé¾î ÀÖ½À´Ï´Ù. ÀÌ Á¡ ²À ±â¾ïÇϼ¼¿ä! > # Apache ¼³Ä¡ # 1. ±âÁ¸¿¡ ¼³Ä¡µÈ rpm Á¦°Å <-- fedora 4 ¼³Ä¡½Ã ¼³Ä¡ Çϼ̴ٸé, »èÁ¦ Çϼ¼¿ä! # rpm -qa | grep httpd <-- rpmÀ¸·Î ¼³Ä¡°¡ µÇ¾î ÀÖ´ÂÁö È®ÀÎ # rpm -e --nodeps httpd-devel-xxxx <-- ÀÖÀ¸¸é »èÁ¦ # rpm -e --nodeps httpd-xxxx <-- ÀÖÀ¸¸é »èÁ¦ * ¾øÀ¸¸é ´ç¿¬È÷ »èÁ¦ÇÒ ÇÊ¿äµµ ¾ø´Ù. µÎ°³°¡ ²¿ÀÌ´Â °æ¿ì°¡ ¹ß»ýÇϱ⶧¹®¿¡ ÇÊÈ÷ »èÁ¦ÇØÁà¾ß ÇÑ´Ù. 2. apache ¼Ò½º ´Ù¿î ·Îµå # cd /usr/local/src # wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.0.59.tar.gz * wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.0.59.tar.gz¿¡¼ ´Ù¿î ¹ÞÀ»¼ö ÀÖ´Ù. /usr/local/src¿¡ ÀÓÀÇ·Î ´Ù¿î ¹Þ¾Ò´Ù. »ç¿ëÀÚ ÆíÀÇ¿¡ ÀÇÇØ ¹Ù²Ù¾îµµ »ó°ü ¾ø´Ù. 3. ¾ÐÃàÇ®°í, ¼³Ä¡Çϱâ # cd /usr/local/src # wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.0.59.tar.gz # tar xvfz httpd-2.0.59.tar.gz # cd httpd-2.0.59 # cd server/mpm/worker # vi worker.c <-- #define DEFAULT_SERVER_LIMIT 16 --> 1024 ·Î ¼öÁ¤! # ./configure --prefix=/usr/local/apache --enable-mods-shared=most --with-mpm # make ; make install *À§ÀÇ ³»¿ëÁß ¾î·Á¿î°ÍÀº ¾øÀ»°ÍÀÌ´Ù. ¿É¼Ç¿¡ ´ëÇÑ ±Ã±ÝÁõÀº °¡Áö°í ÀÖÀ»°ÍÀÌ´Ù. ÀÌ¿¡ ´ëÇÑ ¼³¸íÀ» °çµéÀÌ°Ú´Ù. ¿É¼Ç ¼³¸í¿¡ ¾Õ¼ ¿©Å¸ ´Ù¸¥ ¹®¼¿¡¼ Àû¾î ÁÖ´Â ¿É¼ÇÀ» ¸ÕÀú Àû¾î º¸°Ú´Ù. # ./configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE --enable-modules=so --enable-so --with-mpm <-- ÈçÈ÷ ¸¹ÀÌ Àû¾î ³õ´Â ¿É¼ÇÀÌ´Ù. ·Î½á --enable-rule=SHARED_CORE ¿Í --enable-modules=so --enable-so ¶ó´Â ¿É¼ÇÀÌ ÀÖÀ½ÀÌ º¸ÀÏ°ÍÀÌ´Ù. »ç¹µ ´Ù¸¥ ¿É¼Çµé¶«¿¡ ÀÌ»óÇÏ´Ù »ý°¢ÇϼÌÀ»Áö ¸ð¸£³ª, ±âÁ¸ ¹®¼¿Í ¿©Å¸ ´Ù¸¥ ¹®¼´Â ¿É¼ÇÀÌ Áߺ¹µÇ¾î ÀÖ´Ù. ¾ÆÆÄÄ¡ 2.0 ÀÌ»ó ºÎÅÍ´Â DSO¸¦ »ç¿ëÇϱâ À§ÇØ --enable-so ¸¸ ºÙ¿© ÁÖ¸é µÈ´Ù. ¾ê±â°¡ ±æ¾îÁú°Å °°´Ù. ±âÁ¸ÀÇ ¿É¼ÇÀº ¾µ¸ð ¾ø´Â ¿É¼ÇµéÀ̶ó´Â°ÍÀÌ´Ù. --enable-rule=SHARED_CORE ´Â ¾ÆÆÄÄ¡ 1.3 ¹öÁ¯¿¡¼ DSO modules ÀÎ mod_so ¸¦ ¿Ã¸®±â À§ÇÑ ¿É¼ÇÀ̾ú°í, --enable-modules=so ´Â µ¿Àû(DSO)°¡ ¾Æ´Ñ Á¤ÀûÀ¸·Î mod_so ¸ðµâÀ» ¿Ã¸®°Ú´Ù´Â ¸»ÀÌ´Ù. mod_so´Â core ¿Í ÇÔ²² Á¤ÀûÀ¸·Î ¿Ã¶ó°¡¾ßÇÏ´Â ¸ðµâÀÌ´Ù. ¾ÆÆÄÄ¡ 2.0¿¡¼´Â enable-so ¶ó´Â ¿É¼ÇÀ¸·Î mod_so ¸ðµâÀ» ¿Ã·ÁÁØ´Ù. Áï, --enable-rule=SHARED_CORE´Â ´õÀÌ»ó ÇÊ¿äÄ¡ ¾Ê´Â ¿É¼ÇÀ̸ç,(2.0 ¿¡¼ ./configure --help ÇÏ°í º¸¶ó. ¾ø¾îÁ³À½À» ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù.) --enable-modules=so´Â --enable-so ¶ó´Â ¿É¼ÇÀ¸·Î ¾µ¸ð°¡ ¾ø¾îÁ³´Ù°í º¼¼ö ÀÖ´Ù. ±×·¯¸é ¹ü·æÀÌ°¡ ¾´ ¿É¼Ç¿¡¼´Â ¿Ö enable-so°¡ ¾ø´À³Ä? ±×°Ç °£´ÜÇÏ´Ù. --enable-mods-shared=most ¿É¼Ç(µ¿ÀûÀ¸·Î ¿Ã¸±°Å ÁöÁ¤ÇØÁØ´Ù.)À» ºÙÀ̸é --enable-so °¡ ÀÚµ¿À¸·Î ºÙ±â ¶§¹®ÀÌ´Ù. Áï, --enable-mods-shared=most Çϳª¸é ´Ù ÇØ°á µÇ´Â°ÍÀÌ´Ù. DSO ¶õ LoadModule ¸¦ ÀÌ¿ëÇؼ µ¿ÀûÀ¸·Î ¸ðµâÀ» ¿Ã¸®´Â°É ¸»ÇÑ´Ù. --enable-mods-shared=most ÀÌ ¿É¼ÇÀ» Àû¾î ÁÖ¸é, ´ëºÎºÐÀÇ apache ¿É¼ÇµéÀÌ LoadModule ¹®¹ý¿¡ ÀÇÇØ µ¿ÀûÀ¸·Î ¿Ã¶ó°¡ ÀÖ´Ù.(httpd.conf ¸¦ È®ÀÎÇØ º¸¾Æ¶ó.) --with-mpm ¿É¼ÇÀº ´õÀÌ»ó ¼³¸íÇϱⰡ ¹÷Â÷´Ù.(Áö±Ý 1¿ù6ÀÏ »õº® 4½Ã 50ºÐÀÌ´Ù. µýÁþÇÏ´Ù°¡ »õº®¿¡ ¿Ï¼ºÁß) ¾ÆÆÄÄ¡ ¸Þ´º¾ó¿¡¼ mpmÀ» ÂüÁ¶Ç϶ó ÀÌ°Ç Æ¯º°ÇÑ ¼³¸íµµ ÇÊ¿äÄ¡ ¾Ê´Ù. ÀÚ¼¼ÇÏ°Ô ³ª¿Í Àֱ⠶§¹®ÀÌ´Ù. http://httpd.apache.org/docs-2.0/mpm.html¸¦ ÀÐ¾î º¸¶ó. 4. library PATH Àâ¾ÆÁÖ±â # echo "/usr/local/apache/lib" >> /etc/ld.so.conf # echo "/usr/local/apache/modules" >> /etc/ld.so.conf # ldconfig * ¸í·É¾î³ª ÇÁ·Î±×·¥¿¡¼ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ¶§ ã´Â PATH¸¦ ±â·ÏÇØÁà¾ßÇÑ´Ù. ±âÁ¸¿¡´Â /usr/local/apache/lib ¶ó´Â °æ·Î°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê±â ¶§¹®¿¡ ¸ø ã´Â ¼ö°¡ ¹ß»ýÇÑ´Ù. ¹Ì¿¬¿¡ ¹æÁö Çϱâ À§Çؼ Àû¾îÁÖ´Â ½À°üÀ» µéÀÌ´Â°Ô ÁÁ´Ù. APM ¼³Ä¡½Ã¿¡´Â ¹ß»ýÇÏÁö ¾ÊÁö¸¸, ½ÇÁúÀûÀ¸·Î ±×·¯ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏ°í ÀÖ´Ù. ÇÁ·Î±×·¥ ¼³Ä¡ÈÄ ²À ld ¿¡ library °æ·Î¸¦ Àû¾îÁֱ⠹ٶõ´Ù. 5. ÀÚµ¿ ½ÇÇà # vi /etc/rc.d/rc.local ------------------------------------- # apache start | /usr/local/apache/bin/apachectl start | ------------------------------------- À» Ãß°¡ ½ÃÄѶó. * ºÎÆà °úÁ¤¿¡¼ rc ¸Ç ¸¶Áö¸·À¸·Î rc.localÀÇ ³»¿ëÀ» ¼öÇàÇÑ´Ù. Áï, ºÎÆö§ ÀÚµ¿À¸·Î apachectl start ¸í·É¾î°¡ run ÇÏ°Ô µÈ´Ù. # php ¼³Ä¡ # 1. php ´Ù¿î ¹Þ±â # cd /usr/local/src # wget http://kr2.php.net/get/php-5.2.0.tar.gz/from/kr.php.net/mirror * wget http://kr2.php.net/get/php-5.2.0.tar.gz/from/kr.php.net/mirror ¿¡¼ ´Ù¿î ¹ÞÀ»¼ö ÀÖ´Ù. /usr/local/src ¿¡ ´Ù¿î ¹Þ¾Ò´Ù. 2. ¾ÐÃà Ç®°í, ¼³Ä¡ Çϱâ, # cd /usr/local/src # tar xvfz php-5.2.0.tar.gz # cd php-5.2.0 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache/conf --with-gd --with-zlib # make ; make install # cp php.ini-dist /usr/local/apache/conf/php.ini * ¿É¼ÇÀÌ °£´ÜÇÏ´Ù. ±âÁ¸¿¡ ³ª¿Í ÀÖ´Â ¿©·¯ ¹®¼ÀÇ ¿É¼Çµé ¶ÇÇÑ Áߺ¹µÈ°ÍÀÌ ¸¹´Ù. ÀÚ¼¼ÇÑ°ÍÀº Áú¹®ÀÌ ¿Ã¶ó¿Â´Ù¸é ¿Ã¸®°Ú°í, (¹è´Á¤½Å) °£´ÜÈ÷ ¿©±â¿¡ ÁöÁ¤µÈ ¿É¼Ç¸¸À» ¼³¸íÇÏ°Ú´Ù. --with-apxs2 ÀÌ ¿É¼ÇÀº ¿ÜºÎ ¸ðµâÀÎ php°¡ ÄÄÆÄÀϽà apache¿¡ µ¿ÀûÀ¸·Î(DSO - mod_so modules)·Î ¿Ã¶ó°¡±â À§ÇØ apxs ¶ó´Â ¸í·É¾î¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. apache³»ÀÇ ¸ðµâÀÇ °æ¿ì¿¡´Â apxs ¸í·É¾î°¡ ÇÊ¿ä ¾øÁö¸¸, ¾ÆÆÄÄ¡ ¿ÜÀÇ ¸ðµâÀ» ¿Ã¸®±â À§Çؼ´Â apxs ¶ó´Â ¸í·É¾î°¡ ÀÖ¾î¾ß ÇÑ´Ù. Áï, php¿¡°Ô apxs À§Ä¡¸¦ ÁöÁ¤ÇØÁִ°ÍÀ̶ó°í º¸¸é µÈ´Ù. --with-config-file-path ÀÌ ¿É¼ÇÀº phpÀÇ config fileÀÇ À§Ä¡¸¦ ÁöÁ¤ÇØÁִ°ÍÀÌ´Ù. php.ini À§Ä¡¸¦ ÁöÁ¤ÇØÁִ°ÍÀÌ´Ù. --with-gd ÀÌ ¿É¼ÇÀº gdÁö¿øÀ» Æ÷ÇÔÇÑ´Ù.gd´Â µ¿ÀûÀÎ ±×·¡ÇÈÀ» Áö¿øÇϴ°Í. --with-zlib ÀÌ ¿É¼ÇÀº zlibÁö¿øÀ» Æ÷ÇÔÇÑ´Ù. ÆÄÀϾÐÃà¾Ë°í¸®ÁòÀÌ´Ù. --with-iconv : 5.2.0¿¡¼´Â default ·Î ¿Ã¶ó°£´Ù. ¿É¼ÇÀ» Á¦¿Ü ½ÃÄ×´Ù. ÀÌ ¿É¼ÇÀº character º¯È¯ ¶óÀ̺귯¸®ÀÌ´Ù. À¯´ÏÄÚµå·Î º¯È¯Çϴ°ÍÀ» ¸»Çϸç, ÀÌ´Â °³¹ßÀÚÀÌ °³¹ßÇÔ¿¡ ÀÖ¾î ²À ÇÊ¿äÇÑ »çÇ×ÀÌ´Ù. À¯´ÏÄÚµå·Î º¯È¯µÇ´Â ½ÃÁ¡¿¡¼ ÇÊÈ÷ ÇØÁà¾ßÇÏ´Â ¼ºñ½ºÁß ÇϳªÀÌ´Ù. * Ȥ, gd / zlib / iconv / zend / freetype µîÀ» ÃֽŰɷΠ»ç¿ëÇϱ⸦ ¹Ù¶õ´Ù¸é, µû·Î ¼³Ä¡ÈÄ ./configure ½Ã ÁöÁ¤ÇØÁÖ¸é µÈ´Ù. °Á ¿äûÀÌ ÀÖÀ¸¸é ¿Ã¸®°Ú´Ù. ** APM ¿¬µ¿½Ã libphp5.so °¡ selinux ¶§¹®¿¡ load µÇÁö ¾Ê´Â´Ù. ** # chcon /usr/local/apache/modules/libphp5.so -t shlib_t <-- ²À ÇØÁà¶ó. 3. ¼³Ä¡ È®ÀÎ ¹× httpd.conf ¿Í php.ini # cd /usr/local/apache/modules # ls -al libphp5.so # vi /usr/local/apache/conf/httpd.conf --------------------------------------------------- LoadModule ¹®¹ý ¸Ç µÚ¿¡ LoadModule php5_module modules/libphp5.so Á¸Àç¿©ºÎ È®ÀÎÈÄ ¾øÀ¸¸é Ãß°¡ ½ÃŲ´Ù.(ÀÖÀ»°ÍÀÌ´Ù.) AddType ¹®¹ý µÚ¿¡ AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps ¸¦ Ãß°¡ ½ÃŲ´Ù. --------------------------------------------------- # cp /usr/src/APM/php-5.0.3/php.ini-dist /usr/local/apache/conf/php.ini # vi /usr/local/apache/htdocs/index.php --------------------------------------- <? phpinfo(); ?> --------------------------------------- http://localhost/index.php ȸéÀÌ ¶ß´Â°¡? ¼º°ø ÇÏ¿´´Ù. * »ý°¢ÇØ º¼°Í. DSO¿Í apxsÀÇ °ü°è? DSO´Â µ¿Àû °øÀ¯ °´Ã¼ ÀÌ´Ù. Áï, Á¤ÀûÀΰÍÀÌ ¾Æ´Ï¶ó, È®ÀåÀÚ so¸¦ °¡Áö¸ç(´Ù¸¥ ¿©Å¸ÀÇ È®ÀåÀÚµµ °¡´ÉÇϱâ´ÂÇÏ´Ù), ½ÇÇàÁßÀÎ ¼¹ö¿¡ ¸ðµâÀ» ·Îµù ½Ãų¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù. Áï, Á¦ 3ÀÚ°¡ ¸¸µç ¸ðµâÀ» ½ÇÇàÁß¿¡ ·Îµå ½Ãų¼ö ÀÖµµ·Ï °¡´ÉÇÏ°Ô ÇØÁִ°ÍÀÌ DSOÀÌ°í,apxs´Â È®Àå ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í, ¼³Ä¡Çϴµµ±¸ÀÌ´Ù. Áï, À§ÀÇ apache¿¡¼´Â Á¦3ÀÚÀÇ ¸ðµâ(php)À» ·Îµå½ÃÅ°±â À§ÇØ DSO¸¦ enable ½ÃÄ×°í, php¿¡¼´Â apxs¸¦ ÁöÁ¤ÇØÁà¼, ÄÄÆÄÀϽà libphp.so¸¦»ý¼ºÁØ´Ù. Áï, »ý¼ºµÈ libphp.so´Â apache configure file(hpptd.conf)¿¡ LoadModule·Î¼ ·Îµù½ÃÄÑÁÖ°Ô µÇ´Â°ÍÀÌ´Ù. (°ü·Ã ÁÖ¼Ò http://httpd.apache.org/docs-2.1/ko/programs/apxs.html) <-- DSO¿Í apxsÀÇ °ü°è * °£´ÜÇÏ°Ô APM ¿¬µ¿ÀÌ ÀÌ·ç¾îÁ³´Ù. Å×½ºÆ®¸¦ ÇØ º¸±â ¹Ù¶õ´Ù. ÇÊ¿äÇÑ ¿É¼ÇÀÌ ¾ø´Ù°í, Èûµé¾î ÇÏÁö¸¶¶ó. ´Ù½Ã ÄÄÆÄÀÏ ÇØÁÖ¸é µÇÁö ¾Ê´Â°¡? Àç ÄÄÆÄÀÏÇÏ´Â°Ç ¾î·ÆÁö ¾Ê´Ù. À§ÀÇ ¿É¼ÇµéÀº ÃÖ¼ÒÀÇ ÇÊ¿ä ¿É¼ÇÀ̶ó°í º¸¸é µÈ´Ù. ¹°·Ð, ÃÖ»óÀÌ µÉ¼öµµ ÀÖ´Ù. ±âÁ¸¿¡ ¿Ã·È´ø APM ¼³Ä¡°¡ Çϵµ ¿À·¡ µÇ¾î¼.. À̹ø¿¡ fedora 4·Î Çؼ ¹®¼¸¦ ÀÛ¼ºÇØ º¸¾Ò½À´Ï´Ù. ¿À·ù³ª ¼öÁ¤ÇÒ °ÍÀÌ ÀÖÀ»½Ã¿¡´Â ¾ðÁ¦µçÁö ±Û ³²°Ü ÁÖ¼¼¿ä. |
Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1467 |