Ȩ > Á¤º¸ÀÚ·á½Ç
Á¦ ¸ñ
[linux] Web-HardDiscÀÇ ±¸Çö ¿ø¸®¿¡ °üÇÑ Case Study
±Û¾´ÀÌ
ÇѺû¹Ìµð¾î(¡¦
³¯ Â¥
06-07-19 10:19
Á¶È¸ (2394)
Æ®·¢¹é ÁÖ¼Ò : http://netcop.woobi.co.kr/bbs/tb.php/k_pds/38
Published on Hanbit Network (http://network.hanbitbook.co.kr/ )
Web-HardDiscÀÇ ±¸Çö ¿ø¸®¿¡ °üÇÑ Case Study
µî·Ï: ÇѺû¹Ìµð¾î(ÁÖ) (2004-04-09 10:07:30)
ÀúÀÚ: ÀÓ¿µ±Ô / GNOME ¸®´ª½º ±â¼ú ¿¬±¸¼Ò 1. ¼Ò°³ ÃÖ±Ù ÀÎÅÍ³Ý À¥ µð½ºÅ©¿¡ ´ëÇÑ °ü½É°ú »ç¿ëÀÌ ¸¹¾ÆÁö°í ÀÖ´Ù. ÀÌ·¯ÇÑ À¥ Çϵå´Â ¾î¶»°Ô ±¸ÇöÇÏ´Â °ÍÀÎÁö »ìÆìº¸±â·Î ÇÑ´Ù. À¥ Çϵå¶õ ÀÎÅͳݻóÀÇ FTP ¼¹ö¿¡ »ç¿ëÀÚÀÇ ÆÄÀÏÀ» ¾÷·Îµå ¹× ´Ù¿î·ÎµåÇϱâ À§ÇÑ ¸ñÀûÀ» °¡Áö´Â ±â´ÉÀ̶ó°í ÇϰڴÙ. ¹°·Ð ÃÖ±Ù¿¡´Â ÀÌ·¯ÇÑ À¥ ÇϵåÀÇ »óÈ£ °øÀ¯¸¦ ÅëÇÑ °ø°£ ¸ðÀ¸±â ±â´É±îÁöµµ Æ÷ÇÔÇÑ ¹ßÀü´Ü°è·Î Á¢¾îµé¾úÀ¸¸ç ÀÌ ¶ÇÇÑ »ç¿ëµÇ°í ÀÖ´Â Ãß¼¼ÀÌ´Ù. ÀÌ·¯ÇÑ À¥ µð½ºÅ©¸¦ ¾î¶»°Ô ±¸ÇöµÇ´ÂÁö ±× ¿ø¸®¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸ÀÚ.2. ±¸Çö À¥ Çϵ带 ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸, ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â PHP ½ºÅ©¸³Æ® ¾ð¾î¸¦ »ç¿ëÇÏ¿© ±× ±¸Çö ¿ø¸®¸¦ ¾Ë¾Æº»´Ù. À¥ µð½ºÅ©´Â Å©°Ô ¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ® Ãø¸éÀ¸·Î ³ª¿ì¾î º¼ ¼ö ÀÖ´Ù. ¼¹ö´Â FTP ¼¹ö, Áï wu-ftp, ftp-serverU, vsftp, proftpµîÀÇ ¼¹ö ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¸é µÇ¸ç, »ç¿ëÀÚÀÇ µð½ºÅ© ÇÒ´ç ¿ë·®À» À§ÇÑ ¿ë·®Á¦ÇÑ ±â´ÉÀ» FTP¼¹ö¿¡ ¼³Á¤ÇÏ¸é µÇ°Ú´Ù. PHP¿¡¼´Â FTP°ü·Ã ÇÔ¼ö¸¦ Á¦°øÇϴµ¥ À̰ÍÀ¸·Î ·Î±×ÀÎ, ¾÷·Îµå, ´Ù¿î·Îµå µîÀ» ±¸Çö ÇÒ ¼ö ÀÖ´Ù. 2.1 À¥ ÇϵåÀÇ ¿ø¸® µµ½Ä
[±×¸² ] À¥ ÇÏµå ¿ø¸® À̹ø À¥ ÇϵåÀÇ ±¸ÇöÀº ¸®´ª½º ¼¹ö¿Í VSFTP ¼¹ö·Î À¥ ÇϵåÀÇ ¼¹ö¸¦ ±¸ÇöÇÑ´Ù. ±×¸®°í »ç¿ëÀÚ °èÁ¤À» ¸¸µé°í »ç¿ëÀÚ¿¡°Ô ºÐ¹èÇÒ µð½ºÅ© ¿ë·®À» Á¤Çϱâ·Î ÇÑ´Ù. ÀÌ·Î½á ¼¹ö¿¡ ´ëÇÑ ¼³Á¤Àº ¿Ï·áµÈ´Ù. ¹°·Ð Á¢±Ù ±ÇÇÑÀº ¿©·¯ºÐÀÌ ÀǵµÇÏ´Â ´ë·Î ¼³Á¤ÇÏ¸é µÇ°ÚÁö¸¸ 755·Î ¼³Á¤ÇÏ¸é µÇ°Ú´Ù. Ŭ¶óÀÌ¾ðÆ® Ãø¸é¿¡¼ »ý°¢ÇØ º¸¸é ÀϹÝÀûÀ¸·Î ftp Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸é µÇ°Ú´Ù. ¶Ç´Â À©µµ¿ìÀÇ °æ¿ì ³×Æ®¿öÅ©¿¡¼ ³×Æ®¿öÅ© µð½ºÅ© Ãß°¡Çϱ⠱â´ÉÀ» ÀÌ¿ë ÇÒ ¼ö ÀÖ°Ú´Ù. ±×·¯³ª À¥ ±â¹ÝÀ¸·Î ½ÇÇàµÇ´Â ¸¸Å ftp Ŭ¶óÀÌ¾ðÆ®¸¦ »ç¿ëÇϸé, À¥ Çϵ尡 ¾Æ´Ñ ´Ü¼øÈ÷ ftp·Î º¼ ¼ö Àֱ⠶§¹®¿¡ PHP ½ºÅ©¸³Æ®¿Í HTMLÀÇ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÇÑ´Ù. À̰ÍÀÌ À¥ ÇÏµå °³³ä¿¡ ´õ °¡±õ´Ù°í »ý°¢µÈ´Ù. HTMLÀÇ <input type=file ..... >ºÎºÐÀÌ ÆÄÀÏ ¾÷·Îµå ÇÏ´Â ¹æ¹ýÀÌ´Ù. ftp ¼¹ö¿¡ ÀÖ´Â ÆÄÀÏÀ» <a href=file.fext>file-name </a>ÀÇ ÇüÅ·ΠÁöÁ¤ÇÏ¿© Ŭ¸¯ÇÏ¸é ´Ù¿î·Îµå°¡ µÇ´Â °ÍÀÌ´Ù. À̸¦ À§Çؼ ¾à°£ÀÇ ±â±³¸¦ ´õ Ç¥ÇöÇϰíÀÚ ÇÑ´Ù¸é ÀÚ¹Ù ½ºÅ©¸³Æ® µîÀÇ µµ¿òÀ» ¹Þ¾Æ À¥ ÆäÀÌÁö¸¦ È·ÁÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù°í º»´Ù. ´ÙÀ½Àº À¥ Çϵ带 »ç¿ëÇϱâ À§ÇÑ PHP Äڵ带 ½Æ´Â´Ù. ¿¹Á¦ ÄÚµå´Â www.php.netÀÇ FTP ÇÔ¼ö ÁßÀÇ ÀϺÎÀÌ´Ù. ftp¿¡¼ »ç¿ëÇÏ´Â ¸î °³ÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇϹǷΠ±¸ÇöÇϱâ´Â ±×´ÙÁö ¾î·ÆÁö ¾Ê´Ù°í º»´Ù. Áß¿äÇÑ °ÍÀº [±×¸² 1]¿¡¼ ÀÎÅͳݰ¡ ftp¼¹ö°¡ °ð ¹Ù·Î µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ´Â °ÍÀ¸·Î µÇ¾î Àִµ¥ »ç½ÇÀº ÀÌµé »çÀÌ¿¡ À¥ ¼¹ö°¡ °ü¿©ÇÏ°Ô µÈ´Ù. µû¶ó¼ À¥ ¼¹ö´Â nobody ¶Ç´Â apache °èÁ¤À» »ç¿ëÇÏÁö ¾Ê°í ftp ¼¹ö¿¡ Á¢±Ù °¡´ÉÇÑ »ç¿ëÀÚ °èÁ¤À¸·Î Á¢±ÙÇÏ´Â °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î À¥ ¼¹ö¿¡¼ ƯÁ¤ ÆÄÀÏ¿¡ ´ëÇÑ I/OÀ» ¼öÇàÇÏ´Â °æ¿ì´Â ¸ðµÎ À¥ ¼¹öÀÇ ±âº» »ç¿ëÀÚ ¹× ±×·ìÀ¸·Î Á¢±ÙÇÑ´Ù. ÀÌ·± °æ¿ì ÇØ´ç ÆÄÀÏ¿¡ ´ëÇÏ¿© read´Â °¡´ÉÇÏÁö¸¸ write´Â ºÒ°¡´ÉÇÏ´Ù. ÀÌ·¯ÇÑ Á¡À» ±Øº¹Çϱâ À§ÇÏ¿© PHPÀÇ ftp °ü·Ã ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. À̰ÍÀÌ °ð À¥ ÇϵåÀÇ ±âº» ¿ø¸®¶ó ÇϰڴÙ. µû¶ó¼ [±×¸² 1]¿¡ ´ëÇÑ ÀÌÇØ¸¦ ¸ÕÀú ÇÏ¿©¾ß ÇÑ´Ù. ¿ä¾àÇϸé user <-> web-server <-> ftp server °£ÀÇ »óÈ£ ³×Æ®¿öÅ© Åë½ÅÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù. 2.2 FTP ¿¹Á¦ // set up basic connection // ftp ¼¹ö¿¡ Á¢¼ÓÇÑ´Ù. ¿¹Á¦¿¡¼´Â ip·Î Á¢¼ÓÀ» Çß´Ù. $ftp_server="210.220.230.1" // or ="ftp.myweb.co.kr"; $conn_id = ftp_connect($ftp_server); // login with username and password // »ç¿ëÀÚ id ¹× passwd ¼³Á¤ // $ftp_user_name = "tommy"; $ftp_user_pass = "123465"; // »ç½Ç ÀÌ ºÎºÐÀº ¹Î°¨ÇÑ ºÎºÐÀ̹ǷΠinclude ÇÏ¿© »ç¿ëÇÏ´øÁö ¶Ç´Â DB¸¦ ÀÌ¿ëÇϱ⸦ ¹Ù¶õ // ´Ù. Àß ¾Æ´Â »ç½ÇÀ̰ÚÁö¸¸ Id, Passwd¿¡ ´ëÇÑ º¸¾ÈÀº ½º½º·Î ÇØ¾ß ÇÑ´Ù. // ÇÊ¿äÇÑ °æ¿ì sslÀ» ÀÌ¿ëÇÏ¿© Á¢¼Ó ÇÒ ¼ö ÀÖ´Ù. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // check connection // ftp »çÀÌÆ® ¾ø´øÁö ¶Ç´Â ·Î±×ÀÎÀÌ fail ÇÑ´Ù¸é if ((!$conn_id) || (!$login_result)) { echo "FTP connection has failed!"; echo "Attempted to connect to $ftp_server for user $ftp_user_name"; exit; // ÇÁ·Î¼¼½º Á¾·á. µû¶ó¼ if¹® ´ÙÀ½ÀÇ ¸ðµç phpÄÚµå´Â ½ÇÇàµÇÁö ¾Ê´Â´Ù } else { // ·Î±×ÀÎ ¼º°ø echo "Connected to $ftp_server, for user $ftp_user_name"; } // ÆÄÀÏÀ» ¾÷·Îµå ÇÏ´Â °æ¿ì, $destination_file°ú $sourceÆÄÀÏÀ» formÀ¸·ÎºÎÅÍ ¾ò¾î¿Â´Ù // ÀÌ ºÎºÐÀº ¿©·¯ºÐÀÌ HTML·Î ÀÛ¼ºÇÏ¿©¾ß ÇÑ´Ù. ¾Õ¼ ¼³¸íÇÑ // ºÎºÐÀÌ µÇ°Ú´Ù. ¿øº»°ú ´ë»óº» ÆÄÀÏ À̸§À» ¾ò¾î¿Í¼ ftp »çÀÌÆ®·Î ¾÷·ÎµùÇÑ´Ù. // FTP_BINARY¶õ »ó¼ö°ªÀº binaryÆÄÀÏÀ» ¾÷·Îµù ÇÏ´Â °æ¿ìÀ̸ç ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â // mode¸¦ Âü°íÇÏ¸é µÇ°Ú´Ù. // upload the file $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // check upload status if (!$upload) echo "FTP upload has failed!"; else echo "Uploaded $source_file to $ftp_server as $destination_file"; // ftp ¿¬°áÀ» Á¾·á ÇÑ´Ù. // close the FTP stream ftp_close($conn_id); ?> 2.3 ftp ±âº» ÇÔ¼ö list ftp_alloc / ftp_cdup / ftp_chdir / ftp_chmod / ftp_close / ftp_connect / ftp_delete ftp_exec / ftp_fget/ ftp_fput / ftp_get_option / ftp_get / ftp_login / ftp_mdtm ftp_mkdir / ftp_nb_continue / ftp_nb_fget / ftp_nb_fput / ftp_nb_get / ftp_nb_put ftp_nlist / ftp_pasv / ftp_put / ftp_pwd / ftp_quit / ftp_raw / ftp_rawlist /ftp_rename ftp_rmdir / ftp_set_option / ftp_site / ftp_size / ftp_ssl_connect / ftp_systype3. °á·Ð Áö±Ý±îÁö À¥ µð½ºÅ©ÀÇ ±¸Çö ¿ø¸®¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸¾Ò´Ù. À¥ µð½ºÅ©, ÀÎÅÍ³Ý µð½ºÅ©, À¥ ÇÏµå µîÀÇ À̸§À¸·Î ºÒ¸®¾î Áö´Â À¥ µð½ºÅ©ÀÇ ±¸ÇöÀº ±×´ÙÁö ¾î·ÆÁö ¾Ê´Ù°í »ý°¢ÇÑ´Ù. ¸î°¡Áö ´õ Ãß°¡ÇÏÀÚ¸é My-SQL°ú °°Àº µ¥ÀÌÅͺ£À̽º ¿£ÁøÀ» °áÇÕÇÑ ´õ ¿Ïº®ÇÑ À¥ µð½ºÅ© ±¸ÇöÀ» ÇÒ ¼ö ÀÖ´Ù°í »ý°¢ÇÑ´Ù. ¾Æ½±Áö¸¸ ¿©±â¼ ±ÛÀ» ¸¶°¨ÇÑ´Ù. ¿©·¯ºÐ ½º½º·Î À¥ µð½ºÅ©¸¦ ¸¸µé¾î º¸°í Å×½ºÆ® ÇØ º¸±â ¹Ù¶õ´Ù. ±×¸®°í ´Ù¾çÇÑ ±â´É, Áï Ŭ¶óÀÌ¾ðÆ® Ãø¸éÀÇ »ç¿ë Æí¸®¼ºÀº º°µµÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ±¸ÇöÇØ º¸±â¸¦ ±ÇÀåÇÑ´Ù. ¶Ç ½Ã°£Àû ¿©À¯°¡ µÈ´Ù¸é ¸®´ª½º ±â¹ÝÀÇ ½ºÆ®¸®¹Ö ¼¹ö ±¸Çö¿¡ ´ëÇÏ¿© ±ÛÀ» ¿Ã¸±±î ÇÑ´Ù. ³¡À¸·Î ¸®´ª½ºÀÇ ¹ßÀü¿¡ ÀÏÁ¶ÇÏ´Â ¸¶À½À¸·Î ÀÌ ±ÛÀ» ¿Ã¸°´Ù. (Âü°í) 1. http://www.php.net 2. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : vsftp ¼³Ä¡ °ü·Ã 3. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : µð½ºÅ© ¿ë·®Á¦ÇÑ °ü·Ã 4. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : ¾ÆÆÄÄ¡ À¥ ¼¹ö ±¸Ãà °ü·Ã 5. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : DNS ¼¹ö(bind) ±¸Ãà °ü·Ã
Copyright © 2006 Hanbit Media, Inc.