Sunday, December 23, 2012

FTP Service เพื่อคู่หูของเว็บเซิร์ฟเวอร์

FTP Service เพื่อคู่หูของเว็บเซิร์ฟเวอร์

เนื่องด้วยการใช้งานเว็บเซิร์ฟเวอร์นั้นต้องการการแสดงผลเอกสารเว็บที่ เป็นไฟล์ข้อความภาษา HTML ไฟล์รูปภาพ และมัลติมีเดียต่าง ๆ ผู้ที่จะปรับปรุงเนื้อหาบนเว็บเพจทั้งหลายบนเว็บเซิร์ฟเวอร์จะต้องอาศัย บริการอีกตัวหนึ่งเพื่อจัดส่งไฟล์ต่าง ๆ อัพโหลดเข้าไปเก็บภายใน DocumentRoot ของเว็บเซิร์ฟเวอร์ ซึ่งบริการดังกล่าวก็คือ FTP ( File Transfer Protocol ) บริการ FTP นี้ไม่ได้รวมอยู่ในตัวเว็บเซิร์ฟเวอร์ ดังนั้นผู้ดูแลระบบจะต้องคอนฟิกเซิร์ฟเวอร์ที่ให้บริการ FTP นี้ขึ้นมาใช้งานคู่กับเว็บเซิร์ฟเวอร์เสมอ ซึ่งโปรแกรมที่ทำหน้าที่เป็น FTP Server นี้ Red Hat Linux 9.0 จะให้มาพร้อมกันแล้ว คือ โปรแกรม vsftpd ( Very Secure FTP Daemon ) เราจึงสามารถเปิดบริการนี้ขึ้นมาได้ด้วยคำสั่งคล้าย ๆ การเปิดบริการอาปาเช่
# chkconfig vsftpd on
# service vsftpd restart
หลังจากที่ FTP Server เริ่มทำงานแล้ว รายชื่อผู้ใช้งานในระบบทุกชื่อจะสามารถใช้บริการ FTP Server นี้ได้ทันที แต่สำหรับการเพิ่มชื่อล๊อกอินของยูสเซอร์ที่จะแก้ไขปรับปรุงเว็บไซต์จำเป็น ต้องกำหนดให้ยูสเซอร์นั้นเริ่มต้นเข้าไปรับส่งไฟล์ที่ตำแหน่งไดเร็คทอรี่ DocumentRoot ของเว็บเซิร์ฟเวอร์ ( ตามตัวอย่างข้างต้นคือ /itdestination.com ) วิธีการสร้างแอคเค้าต์ของยูสเซอร์ ( สมมุติชื่อ webmaster ) จะมีขั้นตอนดังรูปที่ 7 หลังจากนี้ยูสเซอร์ webmaster จะสามารถตกแต่งแก้ไขเว็บไซต์ได้โดยผ่านโปรแกรม FTP Client ธรรมดาทั่วไป ( เช่น WS-FTP Pro หรือ CuteFTP ) จากเครื่องไคลเอ้นต์ได้ตามต้องการ


รูปที่ 7 ขั้นตอนการสร้างยูสเซอร์ webmaster เพื่อการ FTP

DNS Server อีกแรงสนับสนุนเพื่อการใช้งานที่สมบูรณ์ ในด้านการเรียกเข้าชมเว็บไซต์จากผู้ใช้ทั่วไป ระบบของเราจำเป็นต้องอาศัยระบบ Domain Name Service หรือ DNS เพื่อช่วยให้ผู้ชมสามารถเข้าถึงเว็บเซิร์ฟเวอร์ของเราได้ด้วยการเรียกด้วย ชื่อของเว็บไซต์ แทนที่จะเรียกเข้ามาด้วยหมายเลขไอพี หากเป็นการสร้างเว็บเซิร์ฟเวอร์ขึ้นเพื่อใช้งานเป็นการภายในขององค์กรก็จำ เป็นต้องจัดตั้ง DNS Server ขึ้นเพื่อช่วยแปลงชื่อโฮสต์ ( เช่น www.intranet.com ) ให้เป็นหมายเลขไอพีของโฮสต์ที่เป็นเว็บเซิร์ฟเวอร์ของเรา ซึ่งอาจจะใช้ DNS Server ที่มีอยู่แล้วในองค์กรก็ได้ แต่ถ้ายังไม่เคยมี DNS Server มาก่อนก็สามารถคอนฟิกโปรแกรม BIND ที่มาพร้อมกับ Red Hat Linux 9.0 ให้ทำหน้าที่เป็น DNS Server ก็ได้


รูปที่ 8 การทำงานร่วมกับระหว่าง DNS กับ Apache

แต่ถ้าเป็นการจัดตั้งเว็บเซิร์ฟเวอร์นี้ขึ้นเพื่อให้บริการแก่บุคคล ทั่วไปในระบบเครือข่ายอินเตอร์เน็ตก็จะต้องเชื่อมต่อเว็บเซิร์ฟเวอร์นี้เข้า สู่ระบบอินเตอร์เน็ตโดยจะต้องมีหมายเลขไอพีจริงในระบบอินเตอร์เน็ต ( Real IP Address ) คอนฟิกของระบบเครือข่ายนี้มีทางเลือกหลายทาง โดยอาจจะเชื่อมต่อเข้าสู่เครือข่ายอินเตอร์เน็ตโดยผ่านสายสื่อสารที่จัด เตรียมไว้ เช่น สายลีสไลน์และเราต์เตอร์ หรืออาจจะใช้บริการจากผู้ให้บริการอินเตอร์เน็ต ( Internet Data Center ) โดยการนำเว็บเซิร์ฟเวอร์ของเราไปฝากไว้ที่เรียกว่า Co-Location ซึ่งเป็นอีกวิธีหนึ่งที่ประหยัดกว่าก็ได้ ต่อจากนั้นจะต้องจดทะเบียนชื่อโดเมน ( Domain Name Registration ) เพื่อให้ได้ชื่อโดเมนและเว็บไซต์ที่คนทั่วโลกจะเข้าถึงได้ โดยเป็นหน้าที่ของหน่วยงานที่เป็นตัวแทนจดทะเบียนชื่อโดเมนให้เราจะต้องลง ทะเบียนในระบบ DNS ให้ชื่อเว็บไซต์นี้ชี้มาที่หมายเลขไอพีที่ได้เชื่อมต่อกับเว็บเซิร์ฟเวอร์ ไว้ ภายหลังจากลงทะเบียนชื่อโดเมนประมาณ 2-3 วัน คนทั่วโลกก็จะเข้าถึงเว็บไซต์ของเราได้แล้ว Apache ไม่ใช่เพียงแค่เว็บเซิร์ฟเวอร์ ในความเป็นจริงแล้ว สถานะของอาปาเช่ในปัจจุบันถูกแบ่งออกในเชิงการประยุกต์ใช้งานได้ 2 ทาง คือ การใช้งานทางตรง หรือการใช้งานโดยเน้นหนักไปในฐานะของ HTTP Server ซึ่งถูกนำไปใช้งานเป็นเว็บเซิร์ฟเวอร์โดยตรง ในส่วนนี้ยังสามารถแยกลักษณะการใช้งานออกไปได้อีกหลายทิศทางขึ้นอยู่กับ ลักษณะของงานและคุณลักษณะพิเศษต่าง ๆ ที่เสริมเข้าไปอีกด้วย ได้แก่
  • การใช้งานเป็น Mirror Site ด้วยความสามารถจากโมดูลในกลุ่ม mod_proxy.c ทำให้เราสามารถประยุกต์ใช้อาปาเช่เป็นเว็บไซต์ Mirror ได้ โดยสามารถสำเนาเนื้อหาจากเว็บไซต์ที่ได้รับการอนุญาติแล้วมาให้บริการใน เซิร์ฟเวอร์ของเราได้
  • ทำหน้าที่เป็น Web Redirector หรือทำหน้าที่เป็นตัวช่วยเปลี่ยนทิศทางของผู้ชมที่มาจากแหล่งต้นทางที่แตก ต่างกันให้ไปสู่ URL หรือเซิร์ฟเวอร์ที่กำหนดขึ้นใหม่ได้ ซึ่งมาจากความสามารถของโมดูล mod_rewrite.c
  • การสร้างเว็บไซต์ส่วนบุคคล หรือ Personal Home Page การใช้งานแบบนี้เป็นที่นิยมมากในสถานศึกษา มหาวิทยาลัย โดยอาศัยการทำงานของโมดูล mod_userdir.c จะช่วยให้ยูสเซอร์ทุกคนในเว็บเซิร์ฟเวอร์มีเว็บไซต์ส่วนตัวได้โดยอัตโนมัติ โดยมี URL เป็นชื่อเว็บไซต์นั้นตามด้วยเครื่องหมาย ~ และชื่อของยูสเซอร์นั้น ๆ เช่น ยูสเซอร์ gump ในเซิร์ฟเวอร์ www.tepleela.ac.th ก็จะมี URL เป็น http://www.tepleela.ac.th/~gump/ เป็นต้น ซึ่งทำให้สมาชิก นักเรียน นักศึกษา มีเว็บไซต์เป็นของตนเองที่จะใช้ฝึกหัดสร้างเว็บไซต์ และเผยแพร่ข้อมูลสู่สาธารณะได้ตามต้องการ
  • การเป็น Virtual Host ลักษณะนี้เป็นที่นิยมกันมากทีเดียว คือ การสร้างเว็บไซต์มากกว่า 1 เว็บไซต์โดยใช้เครื่องเซิร์ฟเวอร์เพียงเครื่องเดียว และใช้หมายเลขไอพีแอดเดรสเพียงหมายเลขเดียวในการอ้างถึงเว็บไซต์หลายชื่อ หรือที่เรียกว่า Name Based Virtual Host ซึ่งช่วยให้ลดค่าใช้จ่ายไปได้มาก สำหรับ Red Hat Linux 9.0 แล้วในทางเทคนิคสามารถคอนฟิกได้ทันทีในส่วนของอาปาเช่ แต่ยังขาดในส่วนของ FTP Server ซึ่งไม่สนับสนุนการทำ Virtual Host ในแบบ Name Based ดังนั้นจึงจำเป็นต้องนำโปรแกรม FTP Server ที่ดีกว่า vsFTPd และมีคุณสมบัติด้าน Virtual Host มาใช้แทน เช่น ProFTPd หรือ PureFTPd เป็นต้น ( vsFTPd สนับสนุน Virtual Host เฉพาะแบบ IP Based และ Port Based เท่านั้น )
  • การเป็นเว็บเซิรฟเวอร์ที่สนับสนุนเทคโนโลยีเว็บอื่น ๆ Apache 1.3 และ 2.0 เป็นเพียงหนึ่งในโปรเจคของ The Apache Software Foundation เท่านั้น ยังมีโปรเจคอื่น ๆ ที่เป็นโปรเจคต่อเนื่องจากอาปาเช่อีกมากมาย เช่น Jakarta เป็นโปรเจคเสริมเพื่อทำให้อาปาเช่สนับสนุน Java Platform โดยหนึ่งในจำนวนโปรแกรมที่เป็นที่รู้จักกันเป็นอย่างดีก็คือ Tomcat 5 ซึ่งเสริมการสนับสนุน Java Servlet 2.4 และ Java Server Pages 2.0
  • ในทางอ้อม การประยุกต์ใช้อาปาเช่เว็บเซิร์ฟเวอร์ยังถูกนำมาใช้เพื่อเป็นส่วนประกอบใน งานด้านอื่น ๆ อีก โดยอยู่ในฐานะช่องทางติดต่อระหว่างผู้ใช้กับแอปพลิเคชั่นต่าง ๆ ในลักษณะของ Web based User Interface ซึ่งผู้ใช้อินเตอร์เน็ตทั่วไปมีความคุ้นเคยดีอยู่แล้ว อีกทั้งยังลดการบำรุงรักษาและคอนฟิกในฝั่งเครื่องไคลเอ้นไปได้มากอีกด้วย การใช้งานในทางอ้อมที่ว่านี้ ได้แก่

  • เป็นยูสเซอร์อินเทอร์เฟสเข้าสู่ยูทิลิตี้ อาปาเช่ถูกนำไปพัฒนาร่วมกับซอฟต์แวร์ต่าง ๆ มากมายทั้งซอฟต์แวร์เชิงพานิชย์ และฟรีซอฟต์แวร์ เพื่อใช้เป็นอินเทอร์เฟสที่สะดวกต่อการใช้งานยิ่งขึ้น เช่น ซอฟต์แวร์บริหารจัดการโปรแกรมตรวจสอบและกำจัดไวรัส ( ได้แก่ Trend Micro ) ซอฟต์แวร์ช่วยการคอนฟิกและใช้งานลีนุกซ์เซิร์ฟเวอร์ ( ได้แก่ Webmin ,Usermin )
  • เป็นช่องทางแสดงผลข้อมูลระบบและเครือข่าย เนื่องจากอาปาเช่ถูกผนวกเอาไว้กับลีนุกซ์เซิร์ฟเวอร์ทุกดิสทริบิวชั่น หรือ ถ้าเป็นโอเอสอื่น ( Windows ,Mac OS X ) ก็สามารถติดตั้งใช้งานได้ฟรี และสามารถแสดงผลได้ทั้งตัวอักษร รูปภาพ รูปกราฟ ได้โดยตรง จึงมีการนำอาปาเช่มาใช้งานด้านการแสดงผลข้อมูลระบบ และกราฟสถิติต่าง ๆ มากมาย เช่น MRTG ใช้แสดงข้อมูลกราฟที่ได้ข้อมูลจาก Router หรือ SNMP Server โปรแกรม SARG ใช้แสดงตารางสถิติการเข้าชมเว็บไซต์ของผู้ใช้งาน Squid Proxy Server โปรแกรมประเภท Log Analyzer เป็นต้น
  • ใช้เป็น Web Mail ข้อดีของการใช้งานอีเมล์ผ่านทางเว็บบราวเซอร์เป็นสิ่งที่เราต่างทราบกันเป็น อย่างดี อาปาเช่ในฐานะที่เป็น Front-End ของระบบอีเมล์จึงเป็นงานอีกลักษณะหนึ่งที่เรานิยมนำมาใช้งานร่วมกับระบบ Mail Server
  • เป็นอินเทอร์เฟสของแอปพลิเคชั่นเฉพาะทาง มีซอฟต์แวร์เป็นจำนวนมากที่พัฒนาโดยทำงานภายใต้สภาพแวดล้อมที่เรียกว่า Web based Applications ทั้งที่เป็นการพัฒนาขึ้นเพื่อใช้งานในองค์กรโดยเฉพาะ และทั้งที่เป็นซอฟต์แวร์สำเร็จรูป เช่น โปรแกรมประเภท Groupware หรือ Web based collaboration ต่าง ๆ ระบบสนับสนุนสารสนเทศภายในองค์กร เป็นต้น
  • มาใช้ Apache กันเถอะ เป็นอย่างไรบ้างครับ จะเห็นว่าการนำเอาโปรแกรมที่ยอดเยี่ยมอย่าง Apache มาใช้งานเป็นเรื่องที่ทำได้ไม่ยากเลย นอกจากนั้นยังสามารถนำมาใช้ประโยชน์ในองค์กรของคุณได้มากมายเรียกได้ว่า อเนกประสงค์เลยทีเดียว ถ้าคุณคิดจะเริ่มต้นวางระบบเว็บเซิร์ฟเวอร์ในองค์กรของคุณแล้วล่ะก็ขอแนะนำ ให้เริ่มต้นกับลีนุกซ์ และอาปาเช่ แล้วคุณจะเห็นว่าการหยิบเอาโอเพ่นซอฟร์ส / ฟรีซอฟต์แวร์มาใช้งานเป็นโซลูชั่นที่สนองความต้องการขององค์กรได้อย่าง ยั่งยืนกว่า คุ้มค่ากับเวลา และการลงทุนลงแรงของคุณ หากมีข้อแนะนำ สอบถามข้อสงสัยเกี่ยวกับการประยุกต์ใช้งานลีนุกซ์เซิร์ฟเวอร์ของเชิญที่ เว็บบอร์ดของผู้เขียน http://www.itdestination.com/webboard เอกสารอ้างอิง
    - The Apache Software Foundation : http://www.apache.org
    - Web Server Servey : http://news.netcraft.com/archives/web_server_servey.html
    - RHCE Red Hat Certified Engineer Linux Study Guide,Second Edition : Osborne/McGraw-Hill

    0 comments:

    Post a Comment

    Twitter Delicious Facebook Digg Stumbleupon Favorites More