Results 1 to 2 of 2

Thread: Apache เว็บเซิร์ฟเวอร์สารพักประโยชน์

  1. #1
    Administrator asylu3's Avatar
    Join Date
    Jun 2000
    Location
    Thailand
    Posts
    3,557


    Apache เว็บเซิร์ฟเวอร์สารพักประโยชน์

    โดย ธีรภัทร มนตรีศาสตร์,RHCE


    --------------------------------------------------------------------------------


    อาปาเช่ เป็นเว็บเซิร์ฟเวอร์เพียงหนึ่งเดียวที่อยู่คู่กับระบบปฏิบัติการลีนุกซ์ทุกดิสทริบิวชั่นมาเป็นเวลาหลายปีแล้ว เช่นเดียวกับลีนุกซ์เรดแฮทที่ได้รวมเอาโปรแกรมอาปาเช่ไว้ในชุดติดตั้งพร้อมให้เราใช้งานได้ทันที ไม่ต่างอะไรกับบะหมี่สำเร็จรูป แค่เทน้ำร้อนลงไปก็รับประทานได้ทันที จึงไม่ใช่เรื่องยากเลยที่เราจะตั้งเครื่องพีซีซักตัวหนึ่งขึ้นเป็นเว็บเซิร์ฟเวอร์ ให้บริการเว็บได้ทั้ง ระบบอินทราเน็ตภายในองค์กร ไปจนถึงจัดตั้งเว็บไซต์เผยแพร่ข้อมูลไปทั่วโลก และนี่คืออีกหนึ่งการนำเอาลีนุกซ์มาใช้งานที่คุ้มค่าที่สุด สำหรับวันนี้
    เว็บเซิร์ฟเวอร์ที่นิยมใช้มากที่สุดในโลก
    ข้อมูลการสำรวจจากเว็บไซต์ทั่วโลกโดย Netcraft เป็นสิ่งที่ยืนยันถึงจำนวนของอาปาเช่เว็บเซิร์ฟเวอร์ที่มีสัดส่วนการใช้งานสูงกว่าเว็บเซิร์ฟเวอร์อื่น ๆ อย่างเห็นได้ชัด และยังมีแนวโน้มที่จะเพิ่มสูงมากยิ่งขึ้นอีกด้วย จากจุดเริ่มต้นที่อาศัยโค๊ดจากเว็บเซิร์ฟเวอร์มาตรฐาน NCSA ( องค์กรกลางผู้กำหนดมาตรฐานโปรโตคอล HTTP ,มาตรฐานภาษา HTML และมาตรฐานอื่น ๆ ที่เกี่ยวข้องกับงานบริการบนเว็บทั้งหมด ) พัฒนาอย่างต่อเนื่องด้วยกำลังของชุมชนนักพัฒนาจากทุกมุมโลกผ่านโมเดลการพัฒนาแบบฟรีซอฟต์แวร์ ภายใต้การกำกับดูแลของ Apache Foundation ( http://www.apache.org ) ทำให้เกิดซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่มีเสถียรภาพการทำงานที่เชื่อถือได้ มีประสิทธิภาพสูง และแข็งแกร่ง
    จากซอฟต์แวร์ที่เริ่มต้นจากส่วนประกอบเล็ก ๆ หรือ "patches" จำนวนมากมาย จนทำให้ถูกเรียกขานว่า " a patchy " ผ่านช่วงระยะเวลาของการพัฒนามาถึงสิบปี จนกลายมาเป็นเว็บเซิร์ฟเวอร์ที่ได้มาตรฐาน และได้รับความนิยมสูงสุดในวันนี้ อาปาเช่ยังคงความเป็นฟรีซอฟต์แวร์ไว้อย่างมั่นคง กล่าวได้ว่าถึงวันนี้อาปาเช่เป็นแม่แบบของฟรีซอฟต์แวร์ที่ประสบความสำเร็จแล้วในโลกของความเป็นจริง และเป็นอีกหนึ่งโปรเจคที่ก้าวข้ามพ้นอุปสรรคของโมเดลการพัฒนาแบบฟรีซอฟต์แวร์ได้สำเร็จแล้ว


    รูปที่ 1 รายงานผลสำรวจเว็บเซิร์ฟเวอร์จาก NetCraft

    สารพัดประโยชน์จากเว็บเซิร์ฟเวอร์
    ไม่ว่าจะเป็นเว็บเซิร์ฟเวอร์ชนิดใดก็ตาม คุณประโยชน์ที่จะได้รับย่อมเป็นสิ่งแรกที่เราต้องคำนึงถึง ความหมายสั้น ๆ ของบริการบนเว็บก็คือ มันเป็นวิธีที่ง่ายที่สุดที่จะเผยแพร่เอกสารข้อมูลไปในเครือข่ายคอมพิวเตอร์ เพราะเพียงแค่ผู้ใช้บริการเปิดโปรแกรมเว็บบราวเซอร์ ( ซึ่งมีติดตั้งอยู่ในคอมพิวเตอร์หรือเครื่องมือสื่อสารสมัยใหม่อยู่แล้ว ) ก็จะสามารถเข้าถึงเอกสารเว็บได้โดยอ้างชื่อของเว็บไซต์ ต่อจากนั้นก็จะพบกับเอกสารข้อความ สื่อมัลติมีเดีย บริการดาวน์โหลด และกิจกรรมที่เป็นอินเตอร์แอคทีฟสารพัดได้อย่างง่ายดาย
    เว็บเซิร์ฟเวอร์จะเป็นศูนย์กลาง หรือจุดเริ่มต้นของการประยุกต์ใช้งานเครือข่ายคอมพิวเตอร์ของคุณได้อย่างหลากหลาย เริ่มต้นจากการเป็นแหล่งเผยแพร่ข่าวสารในองค์กร เปิดให้บริการอีเมล์ผ่านเว็บ ( Web based Mail Services ) รวมไปถึงการใช้งานแอปพลิเคชั่นผ่านเว็บหรือ Web based Application ที่พัฒนาขึ้นโดยเฉพาะ ซึ่งมีองค์กรเป็นจำนวนมากที่เริ่มหันมาสนใจพัฒนาแอปพลิเคชั่นเฉพาะขององค์กรในลักษณะเช่นนี้ ทั้งนี้เหตุผลหลักก็คือความต้องการที่จะพัฒนาแอปพลิเคชั่นขึ้นโดยตั้งอยู่บนระบบโครงสร้างที่เป็นมาตรฐาน ซึ่งจะช่วยลดปัญหาที่จะต้องเผชิญกับการเปลี่ยนแปลงของเทคโนโลยีที่ถูกกำหนดขึ้นโดยผู้ผลิตซอฟต์แวร์หรือฮาร์ดแวร์รายใหญ่นั่นเอง
    สำหรับองค์กรที่มีขนาดเล็ก และยังขาดความพร้อมในเรื่องที่จะพัฒนาซอฟต์แวร์ขึ้นใช้งานเอง ก็ยังมีทางเลือกออกอีกมากที่จะนำแอปพลิเคชั่นสำเร็จรูปมาใช้งานร่วมกับเว็บเซิร์ฟเวอร์ได้เช่นกัน ซึ่งมีโปรเจคในแบบฟรีซอฟต์แวร์ให้เลือกใช้ได้เช่นกัน และส่วนใหญ่จะสามารถใช้ได้เป็นอย่างดีกับอาปาเช่ เนื่องจากความแพร่หลายของอาปาเช่ในหมู่นักพัฒนาซอฟต์แวร์นั่นเอง
    ติดตั้งคอนฟิกแบบเร่งด่วน
    ดังที่ได้กล่าวไปแล้วว่าในเรดแฮตลีนุกซ์จะมีโปรแกรมอาปาเช่เว็บเซิร์ฟเวอร์ เวอร์ชั่น 2.0 ให้มาด้วยแล้ว คุณทราบหรือไม่ว่าขั้นตอนการปลุกให้อาปาเช่ตื่นขึ้นมาทำงานมันเป็นเรื่องง่ายยิ่งกว่าการโทรไปสั่งพิซซ่าเสียอีก ถ้าคุณติดตั้งเรดแฮตลีนุกซ์ในแบบเลือกครบทุกแพคเกจ หรือ EveryThing ก็จะมีโปรแกรมนี้พร้อมอยู่แล้วในเครื่องอย่างแน่นอน ซึ่งแพคเกจของโปรแกรมนี้จะชื่อว่า httpd ดังนั้นเราจะลองค้นหาแพคเกจที่ติดตั้งอยู่ในเครื่องได้ด้วยคำสั่ง rpm ดังนี้
    # rpm -qa | grep http
    ถ้ามีแพคเกจนี้เรียบร้อยแล้ว และได้เซ็ตค่าคอนฟิกเกี่ยวกับระบบเครือข่าย TCP/IP แล้ว การสั่งให้อาปาเช่ทำงานจะใช้คำสั่งดังนี้
    # service httpd restart
    # chkconfig --level 35 httpd on
    จะเป็นการสั่งให้บริการของ อาปาเช่ เริ่มทำงานใหม่ ( กรณีที่ไม่เคยเปิดให้บริการมาก่อนจะแจ้ง Fail ขณะ Shutdown จึงถือว่าเป็นเรื่องปรกติ ) ส่วนอีกคำสั่งเป็นการกำหนดให้ อาปาเช่ เริ่มต้นทำงานเองเมื่อเริ่มเปิดเครื่องใหม่โดยอัตโนมัติ ซึ่งตัวบริการของอาปาเช่จะคอยให้บริการที่ TCP port หมายเลข 80 และ 443 ( เป็นโปรโตคอล HTTP และ HTTPS ตามลำดับ ) คำสั่ง netstat จะแสดงให้เห็นการทำงานดังกล่าว


    รูปที่ 2 ตรวจดูพอร์ตของ Apache


    เมื่อเห็นพอร์ต 80 ปรากฏขึ้น แสดงว่าอาปาเช่เริ่มให้บริการแล้ว เมื่อลองเปิดโปรแกรมเว็บบราวเซอร์เข้ามาที่โฮสต์ที่เป็นเว็บเซิร์ฟเวอร์นี้ เช่น ถ้าคุณติดตั้งโปรแกรม Mozilla ไว้ในเครื่องแล้วก็เรียกไปที่ http://localhost ก็จะเห็นหน้า Test Page ที่เรดแฮตสร้างไว้ให้ดังรูปที่ 2 เห็นมั๊ยครับแค่พิมพ์คำสั่งไม่กี่ครั้งก็ทำให้เว็บเซิร์ฟเวอร์เริ่มทำงานแล้ว


    ที่ 3 หน้า Test Page ของอาปาเช่

    ลักษณะทางกายภาพของอาปาเช่
    อาปาเช่ถูกสร้างขึ้นจากการนำเอาโปรแกรมขนาดเล็กที่ทำหน้าที่แตกต่างกันหลายโมดูลมาทำงานร่วมกันเป็นเว็บเซิร์ฟเวอร์ จึงทำให้มีส่วนประกอบเป็นโมดูล ( ที่พัฒนาด้วยภาษาซี ) ส่วนหนึ่งจะเป็นส่วนแกนกลางที่ทำหน้าที่บริหารจัดการทั้งหมด เรียกว่า Core.c โมดูลต่อมาคือ โมดูลที่ทำหน้าที่บริหารหน่วยความจำ ( Memory Management ) และบริหารโปรเซสงานย่อย ( Child Process ) ที่รองรับการให้บริการที่เรียกเข้ามาพร้อม ๆ กันจำนวนมากจากภายนอก ( Multi-Processing Models หรือ MPM ) ซึ่งอาปาเช่มีโมเดลการทำงานด้านนี้รองรับไว้ 3 โมเดลด้วยกัน คือ Workers สำหรับรองรับงานจำนวนมากๆ ในขณะที่ต้องการหน่วยความจำไมามากนัก Prefork สำหรับงานที่ต้องการประสิทธิภาพและความเร็วแต่จะต้องใช้ทรัพยากรระบบมากกว่า และ Per Child ออกแบบมาเพื่อรองรับงานได้แตกต่างกันโดยแยกตามยูสเซอร์ที่ร้องขอบริการเข้ามา ( ขณะนี้อยู่ระหว่างการพัฒนา )
    โมดูล http_core.c จะทำหน้าที่รองรับการประมวลผลด้วยโปรโตคอล HTTP ( Hyper Text Transfer Protocol ) ซึ่งจะจัดการกับส่วนเฮดเดอร์ตามมาตรฐาน NCSA และโมดูล mod_so.c จะทำหน้าที่ติดต่อประสานการทำงานโมดูลภายในเข้ากับกับ Shared Modules อื่น ๆ ที่อยู่ภายนอก ซึ่งโมดูลภายนอกเหล่านี้เราเรียกว่า Dynamic Shared Object หรือ DSO จะมีจำนวนมากน้อยก็ขึ้นอยู่กับความต้องการใช้งานของผู้ใช้ โดยจะกำหนดได้ในขณะที่คอมไพล์โปรแกรมอาปาเช่ สำหรับกรณีของ Red Hat 9.0 จะมีการคอมไพล์มาให้เรียบร้อยแล้ว และมีโมดูล DSO ที่มีคุณสมบัติด้านต่าง ๆ เพียงพอต่อการใช้งานทั่วไป เช่น การสนับสนุนภาษาสคริปต์ การทำ Authentication แบบต่าง ๆ การสนับสนุน Server Side Include เป็นต้น โดยในส่วนของแกนกลางหรือ MPM จะเป็นโมเดลแบบ prefork เราสามารถตรวจสอบดูส่วนประกอบของอาปาเช่ได้ด้วยคำสั่งตามรูปที่ 4


    รูปที่ 4 รายชื่อโมดูลที่เป็นส่วนประกอบของอาปาเช่ใน Red Hat 9.0

    โครงสร้างไดเร็คทอรี่ที่สำคัญ
    ในฐานะผู้ดูแลระบบที่จะต้องคอนฟิก Red Hat Linux ให้ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ สิ่งที่จำเป็นต้องทราบในเบื้องต้นก็คือ เรื่องไดเร็คทอรี่ของอาปาเช่ ซึ่งแบ่งออกได้ 3 ส่วนใหญ่ ๆ คือ ServerRoot ,DocumentRoot และ ScriptAlias ServerRoot หมายถึง ไดเร็คทอรี่ที่เป็นจุดเริ่มต้นของส่วนประกอบด้านคอนฟิกทั้งหมดของอาปาเช่ สำหรับ Red Hat Linux 9.0 คือที่ /etc/httpd ซึ่งจะแยกออกเป็น build สำหรับการเพิ่มโมดูลเข้าสู่เว็บเซิร์ฟเวอร์ conf เป็นที่เก็บคอนฟิกไฟล์หลักคือ httpd.conf นั่นเอง conf.d เป็นไดเร็คทอรี่ที่ใช้เพิ่มเติมไฟล์คอนฟิกย่อยให้แก่เว็บเซิร์ฟเวอร์เพื่อความสะดวกในการปรับแก้คอนฟิกได้สะดวกกว่าการแก้ไขที่ httpd.conf เพียงจุดเดียว logs เป็นไดเร็คทอรี่ที่ใช้เก็บล๊อกไฟล์ที่บันทึกเหตุการณ์ต่าง ๆ ที่เกิดขึ้นกับเว็บเซิร์ฟเวอร์ modules เป็นไดเร็คทอรี่ที่เก็บไฟล์โมดูล DSO ทั้งหมดไว้ และ run เป็นไดเร็คทอรี่ที่เก็บบันทึกหมายเลขโปรเซสของอาปาเช่ไว้เพื่อการควบคุมโปรเซสทั้งจากภายในและภายนอกเซิร์ฟเวอร์เอง โครงสร้างของ ServerRoot
    แสดงดังรูปที่ 5


    รูปที่ 5 โครงสร้างของ ServerRoot


    DocumentRoot เป็นไดเร็คทอรี่ที่ผู้ใช้งานมักจะให้ความสำคัญที่สุด เพราะ document หรือเอกสารภาษา HTML ที่เราต้องการเผยแพร่ผ่านทางเว็บเซิร์ฟเวอร์จะเริ่มต้นแสดงผลเป็นหน้าแรกจากไดเร็คทอรี่นี้นั่นเอง หรือจะมองว่าเป็น Home Page เลยก็ได้ สำหรับ Red Hat Linux 9.0 จะกำหนดให้ไดเร็คทอรี่ /var/www/html เป็น DocumentRoot ของอาปาเช่ ซึ่งผู้ดูแลระบบอาจจะไปเปลี่ยนแปลงให้ใช้ไดเร็คทอรี่อื่นทำหน้าที่นี้แทนได้ตามต้องการ โดยที่สามารถทำได้หลายวิธีซึ่งผู้เขียนจะสาธิตให้เป็นตัวอย่างดังรูปที่ 6 เป็นการกำหนด DocumentRoot ใหม่ไปที่ไดเร็คทอรี่ /itdestination.com โดยสร้างรอไว้ก่อน จากนั้นเปลี่ยนชื่อ /var/www/html ของเดิมที่มากับ Red Hat Linux ไปเป็นชื่อ /var/www/html.original และสุดท้ายจึงใช้ Symbolic Link สร้างจุดเชื่อมโยงชื่อ html ขึ้นแทนที่เพื่อนำเข้าสู่ /itdestination.com เป็นอันเสร็จสิ้นการย้ายตำแหน่งไดเร็คทอรี่ DocumentRoot โดยไม่ต้องแก้ไขคอนฟิกของอาปาเช่เลยแม้แต่บรรทัดเดียว


    รูปที่ 6 สาธิตวิธีการย้ายตำแหน่ง DocumentRoot อย่างรวดเร็ว


    ScriptAlias ไดเร็คทอรี่นี่จะถูกกำหนดให้เป็นที่รันโปรแกรม CGI ( Common Gateway Interface ) โดยเฉพาะซึ่งมีลักษณะเป็นโปรแกรมสคริปต์หรือไบนารี่ก็ได้ที่รันในฝั่งเว็บเซิร์ฟเวอร์ แล้วจึงส่งผลลัพธ์ของโปรแกรมกลับไปยังหน้าเว็บเพจที่ผู้ชมเว็บเพจอีกครั้ง ( เช่น โปรแกรมนับจำนวนผู้เข้าชมเว็บ ) สำหรับ Red Hat Linux 9.0 จะถูกกำหนดค่าไว้ที่ /var/www/cgi-bin ซึ่งผู้ดูแลระบบจะโยกย้ายไปใช้พื้นที่อื่นได้เช่นเดียวกับ DocumentRoot อย่างไรก็ตามในปัจจุบันโปรแกรมประเภท CGI มีการใช้งานที่ลดน้อยลงไปอย่างเห็นได้ชัด ซึ่งกำลังถูกแทนที่โดยภาษาสคริปต์ประเภท HTML Embedded นั่นเอง
    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

  2. #2
    Junior Member
    Join Date
    Oct 2006
    Posts
    16


    ได้ความรู้ดีมากๆๆเลยครับรู้จักapacheมานานก้อยังคิดไม่ถึงว่าเป็นฟรีแวร์ แต่กับลีนุกส์ ไม่รู้เรื่องเลยจิงๆๆครับ

Similar Threads

  1. Apache php on Mac OSX
    By Bourne in forum OSX Leopard Articles
    Replies: 1
    Last Post: 01-09-2009, 12:33 AM
  2. มีอะไรใหม่ใน Apache 2.2.10
    By asylu3 in forum Operating System, Server and Networking
    Replies: 0
    Last Post: 22-10-2008, 11:44 AM
  3. ปรับแต่งค่าให้ Apache รู้จักไฟล์ jsp
    By songklodd in forum Linux, Unix , Window เกี่ยวกับ OS ต่างๆ
    Replies: 1
    Last Post: 13-07-2008, 08:17 PM
  4. apache mpm (ระบบการทำงานของ apache)
    By obiconbig in forum Operating System, Server and Networking
    Replies: 0
    Last Post: 20-06-2008, 09:59 AM
  5. สอน asp กับ apache หน่อยคับ
    By vengrum in forum PHP,ASP,Javascript, Html
    Replies: 0
    Last Post: 20-10-2004, 04:13 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •