°øÁö»çÇ×
ÀÚÀ¯°Ô½ÃÆÇ
Á¤º¸°Ô½ÃÆÇ
¹æ¸í·Ï
344
228
994
75,227
  ÇöÀçÁ¢¼ÓÀÚ : 6 (ȸ¿ø 0)
Ȩ > Á¤º¸ÀÚ·á½Ç
   
Á¦ ¸ñ  [linux] Web-HardDiscÀÇ ±¸Çö ¿ø¸®¿¡ °üÇÑ Case Study
±Û¾´ÀÌ  ÇѺû¹Ìµð¾î(¡¦
³¯ Â¥
06-07-19 10:19
Á¶È¸(2392)
Æ®·¢¹é ÁÖ¼Ò : 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_systype


3. °á·Ð

Áö±Ý±îÁö À¥ µð½ºÅ©ÀÇ ±¸Çö ¿ø¸®¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸¾Ò´Ù. À¥ µð½ºÅ©, ÀÎÅÍ³Ý µð½ºÅ©, À¥ ÇÏµå µîÀÇ À̸§À¸·Î ºÒ¸®¾î Áö´Â À¥ µð½ºÅ©ÀÇ ±¸ÇöÀº ±×´ÙÁö ¾î·ÆÁö ¾Ê´Ù°í »ý°¢ÇÑ´Ù. ¸î°¡Áö ´õ Ãß°¡ÇÏÀÚ¸é My-SQL°ú °°Àº µ¥ÀÌÅͺ£À̽º ¿£ÁøÀ» °áÇÕÇÑ ´õ ¿Ïº®ÇÑ À¥ µð½ºÅ© ±¸ÇöÀ» ÇÒ ¼ö ÀÖ´Ù°í »ý°¢ÇÑ´Ù. ¾Æ½±Áö¸¸ ¿©±â¼­ ±ÛÀ» ¸¶°¨ÇÑ´Ù. ¿©·¯ºÐ ½º½º·Î À¥ µð½ºÅ©¸¦ ¸¸µé¾î º¸°í Å×½ºÆ® ÇØ º¸±â ¹Ù¶õ´Ù.

±×¸®°í ´Ù¾çÇÑ ±â´É, Áï Ŭ¶óÀÌ¾ðÆ® Ãø¸éÀÇ »ç¿ë Æí¸®¼ºÀº º°µµÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ±¸ÇöÇØ º¸±â¸¦ ±ÇÀåÇÑ´Ù. ¶Ç ½Ã°£Àû ¿©À¯°¡ µÈ´Ù¸é ¸®´ª½º ±â¹ÝÀÇ ½ºÆ®¸®¹Ö ¼­¹ö ±¸Çö¿¡ ´ëÇÏ¿© ±ÛÀ» ¿Ã¸±±î ÇÑ´Ù. ³¡À¸·Î ¸®´ª½ºÀÇ ¹ßÀü¿¡ ÀÏÁ¶ÇÏ´Â ¸¶À½À¸·Î ÀÌ ±ÛÀ» ¿Ã¸°´Ù.


(Âü°í)
1. http://www.php.net
2. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : vsftp ¼³Ä¡ °ü·Ã
3. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : µð½ºÅ© ¿ë·®Á¦ÇÑ °ü·Ã
4. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : ¾ÆÆÄÄ¡ À¥ ¼­¹ö ±¸Ãà °ü·Ã
5. ·¹µåÇÞ ¸®´ª½º ¸Å´º¾ó : DNS ¼­¹ö(bind) ±¸Ãà °ü·Ã

Copyright © 2006 Hanbit Media, Inc.
   
Copyright ¨Ï DBuser.net. All rights reserved.