linux training in Thailand
| Home | Articles | Download | Free Linux Tips | Resources | Training | Web Link | Linux Training English|
| Courses | Schedule | Price & Promotion | Map | Customer Ref. | Instructors | Certification | FAQ | Registration Form |
สถาบันฯ ขอแจ้งปิดทำการระหว่างวันที่ 27 -31 กรกฏาคม 2558 และเปิดทำการปกติวันที่ 3 สิงหาคม 2558
We are on vacations 5 days in July 27-31, 2015 Please contract Line ID : nok_fly or e-mail : info@itdestination.com
ITDestination จะปิดปรับปรุงเว็บไซต์ ตั้งแต่วันที่ 7 - 9 มิถุนายน 2556
อาจจะทำให้ใช้งานไม่ได้ในบริการ Webboard Freetips และ E-Learning จึงขออภัยในความไม่สะดวกมา ณ ที่นี้
สถาบันฯ ขอแจ้งปิดทำการวันที่ 22-28 กุมภาพันธ์ 2560 และจะเปิดทำการปกติในวันที่ 1 มีนาคม 2560
กรณีติดต่อส่งข้อความมาที่ Facebook: LinuxITDestination หรือ e-mail: info@itdestination.com ซึ่งจะติดต่อกลับประมาณ 17.00 น.
ผู้ลงทะเบียนอบรมสามารถทำข้อสอบ online ในช่วงที่มาอบรมเพื่อทบทวนความรู้ ทำได้ไม่จำกัดจำนวนครั้ง มีข้อเฉลยที่ถูกต้องแนะนำ
สอบถามรายละเอียดโทร 089 890-5494 >>> อ่านรายละเอียด... คลิ๊ก


ความสำเร็จในการนำลีนุกซ์มาใช้ในองค์กร

คุณสมชาย โสภิตปิยกุล
Thai Yazaki Corporation Co.,Ltd

"เรื่องราวของการประยุกต์ใช้งานลีนุกซ์เป็น Proxy Server อีกหนึ่งบริการพื้นฐานที่ทุก ๆ องค์กรจำเป็นต้องใช้งาน " ในวันนี้การเชื่อมโยงองค์กรเข้าสู่อินเตอร์เน็ตดูเหมือนเป็นเรื่องธรรมดาเป็นเสียแล้ว ทุก ๆ หน่วยงานในองค์กรมีความต้องการที่จะใช้งานอินเตอร์เน็ตเพิ่มขึ้น จนกลายเป็นส่วนหนึ่งของการทำงานประจำวัน ที่ฝ่ายคอมพิวเตอร์จะต้องจัดสร้างระบบขึ้นเพื่อรองรับความต้องการดังกล่าว เรื่องราวของลีนุกซ์โซลูชั่นในฉบับนี้ จะนำเรื่องราวความสำเร็จของลีนุกซ์ในองค์กรเอกชน บ.ไทยยาซากิ จก. ผู้ผลิตสายไฟฟ้า สวิทช์ไฟฟ้ารายใหญ่ของเมืองไทย ซึ่งมีบริษัทในเครืออีกประมาณ 6 บริษัท และมีจำนวนเครื่องลูกข่ายมากกว่า 100 เครื่อง จึงต้องมีใช้ซอฟต์แวร์ในส่วนงานต่าง ๆ เป็นจำนวนมาก รวมทั้งต้องอาศัยการสื่อสารที่มีประสิทธิภาพเพื่อการประสานงานอย่างเป็นระบบ ภาระหน้าที่ของเจ้าหน้าที่ผู้อยู่เบื้องหลังคงหนีไม่พ้นฝ่ายคอมพิวเตอร์และไอทีนั่นเอง ไม่เพียงด้านประสิทธิภาพของงาน และความเชื่อถือได้ของระบบเท่านั้น การเลือกใช้ซอฟต์แวร์ที่เหมาะสมกับองค์กรเป็นอีกภาระกิจหนึ่งของฝ่ายคอมพิวเตอร์ทุกคนที่จะสามารถช่วยลดต้นทุนและสร้างผลกำไรให้เกิดขึ้นแก่องค์กรได้ จึงเป็นเหตุผลสำคัญที่ทำให้ระบบปฏิบัติการลีนุกซ์ได้รับการคัดเลือกเพื่อนำมาใช้งานเป็นเซิร์ฟเวอร์ในองค์กรแห่งนี้ อินเตอร์เน็ตเกตเวย์ และ Proxy Server การสื่อสารใช้งานอินเตอร์เน็ตถือเป็นงานบริการพื้นฐานที่พนักงานทุกคนจะต้องสามารถเข้าถึงและใช้งานได้อย่างสะดวก ไม่ว่าจะเป็นการสืบค้นข้อมูลจากเว็บไซต์ต่าง ๆ การติดต่อด้วยอีเมล์ เพื่อทำให้งานในส่วนต่าง ๆ สามารถดำเนินไปได้ตามเป้าหมายของบริษัท สำหรับโซลูชั่นที่จะสนองความต้องการเช่นนี้ ลีนุกซ์สามารถทำหน้าที่เป็นอินเตอร์เน็ตเซิร์ฟเวอร์ได้เป็นอย่างดีอยู่แล้ว โดยอาศัยคุณสมบัติของ Packet Filter เช่น โปรแกรม ipchains หรือ NetFilter / iptables เครื่องพีซีธรรมดาก็จะทำงานเป็น NAT ( Network Address Translation ) ช่วยให้เครื่องลูกข่ายในเน็ตเวิร์กทั้งหมดออกสู่อินเตอร์เน็ตพร้อมกันด้วยโมเด็มหรือเราต์เตอร์เพียงชุดเดียวเท่านั้น ถึงแม้ว่าเครื่องลูกข่ายทั้งหมดจะสามารถใช้งานอินเตอร์เน็ตได้อย่างที่ต้องการแล้วก็ตาม แต่ก็ยังมีบางสิ่งที่ควรเสริมเข้าไปอีกคือ คุณสมบัติในด้านการจำกัดสิทธิที่จะเข้าถึงเว็บไซต์บางแห่งที่มีเนื้อหาไม่สมควรเข้าชม การจำกัดยูสเซอร์ใช้งานในเวลาที่นอกเหนือจากเวลางาน หรือข้อจำกัดอื่น ๆ ที่ทำให้สิ้นเปลืองค่าใช้จ่ายไปโดยไม่ก่อให้เกิดประโยชน์ คุณสมบัติเช่นนี้ลำพังอินเตอร์เน็ตเกตเวย์คงยังไม่เพียงพอ จะต้องอาศัยพร๊อกซี่เซิร์ฟเวอร์ ( Proxy Server ) เข้ามาช่วยเสริมอีกแรงหนึ่ง ซึ่งภายในลีนุกซ์ทุกดิสทริบิวชั่นจะมีโปรแกรมพร๊อกซี่เซิร์ฟเวอร์ที่มีประสิทธิภาพสูงให้มาพร้อมแล้ว คือ โปรแกรม Squid โปรแกรม Squid เป็น Proxy Server ที่มีคุณสมบัติในการจำกัด ควบคุมการแอกเซสเข้าสู่เว็บไซต์ภายนอกองค์กรได้เป็นอย่างดีและมีประสิทธิภาพ ที่เรียกว่า Access Control List ( ACL ) ซึ่งเป็นการนิยามชื่อลิสต์ขึ้นแทนคุณสมบัติของสิ่งที่ต้องการอ้างอิง จากนั้นจึงตั้งข้อกำหนดลงไปว่าต้องการให้ลิสต์นั้นสามารถแอกเซสผ่านพร๊อกซี่ได้หรือไม่ ตัวอย่างเช่น acl floor1 src 192.168.1.0/255.255.255.0
acl blacklist urlpath_regex sex hack casino chat download
http_access deny blacklist
http_access allow floor1
จะมีความหมายดังนี้
  • - floor1 เป็นชื่อลิสต์ที่ตั้งขึ้นมา หมายถึง ทุกโฮสต์ที่อยู่ในเน็ตเวิร์ก 192.168.1.0
  • - blacklist เป็นชื่อลิสต์ที่เป็นตัวแทนของ URL ที่มีคำว่า sex hack casino chat download เป็นส่วนประกอบ
  • - ในบรรทัดที่ 3 เป็นการกำหนดว่า หากผู้ใช้งานอินเตอร์เน็ตต้องการเข้าสู่เว็บที่ตรงกับลิสต์ชื่อ blacklist ให้ปฏิเสธทันที
  • - ส่วนบรรทัดที่ 4 เป็นการกำหนดว่า หากผู้ใช้งานอินเตอร์เน็ตเป็นโฮสต์ที่ตรงตามลิสต์ floor1 จะยินยอมให้แอกเซสพร๊อกซี่ ( ยินยอมให้เข้าไปสู่อินเตอร์เน็ต ) ได้
  • ดังนั้นการที่เสริมการทำงานของอินเตอร์เน็ตเซิร์ฟเวอร์ด้วย Squid Proxy Server จึงเป็นการควบคุมการเข้าสู่อินเตอร์เน็ตของผู้ใช้งานในองค์กรได้ตามต้องการ และยังช่วยเพิ่มประสิทธิภาพให้แก่ระบบอีกด้วยเพราะ Squid จะมีคุณสมบัติเป็น HTTP Object cache ที่ช่วยเก็บข้อมูลจากเว็บไซต์ภายนอกไว้ในหน่วยความจำ ( RAM และฮาร์ดดิสก์ ) ของตัวเซิร์ฟเวอร์เองอีกด้วย ช่วยให้การเรียกเว็บไซต์ที่เคยเข้าถึงมาก่อนทำได้รวดเร็วยิ่งขึ้นเนื่องจากมีข้อมูลบางส่วนของเว็บเพจที่ยังคงอยู่ในแคชนั่นเอง ข้อมูลการแอกเซสสู่เว็บไซต์ เนื่องจาก Squid Proxy Server ทำหน้าที่เป็นประตูที่กั้นกลางระหว่างผู้ใช้งานภายในองค์กร กับเครือข่ายอินเตอร์เน็ตภายนอก ดังนั้นข้อมูลจากล๊อกไฟล์ของ Squid ที่จะมีการบันทึกไว้ทุก ๆ ครั้งที่เครื่องลูกข่ายมีการร้องขอเพื่อเข้าสู่เว็บไซต์ต่าง ๆ จึงเป็นข้อมูลที่เป็นประโยชน์ต่อผู้ดูแลระบบในการวิเคราะห์ดูพฤติกรรมการใช้งานอินเตอร์เน็ตได้เป็นอย่างดี โดยจะสามารถเฝ้าดูความเคลื่อนไหวของล๊อกไฟล์ดังกล่าวได้ด้วยคำสั่ง # tail -f /var/log/squid/access.log คำสั่งดังกล่าวจะทำการรายงานข้อมูลล่าสุดจากล๊อกไฟล์ของ Squid คือ /var/log/squid/access.log อย่างต่อเนื่อง ( เป็นผลมาจากพารามิเตอร์ -f ของคำสั่ง tail หมายถึง Follow ) ผลลัพธ์จะปรากฏดังตัวอย่างดังรูป

    จากรูปจะเห็นว่าเราสามารถทราบได้ว่าโฮสต์หมายเลข 192.168.0.9 ในเครือข่ายของเรา ออกไปชมเว็บไซต์ใดบ้าง โหลดไฟล์ใดมีขนาดเท่าไหร่บ้าง ไฟล์ access.log ของ Squid นี้จะอยู่ในรูปของไฟล์ข้อความธรรมดา ดังนั้นเราจึงสามารถอ่านได้โดยตรง และโดยปรกติแล้วไฟล์นี้จะมีการเปลี่ยนชื่อไฟล์ที่บันทึกข้อมูลเองโดยอัตโนมัติ โดยอาศัยบริการชื่อ logrotate ทุก ๆ สัปดาห์ สร้างรายงานที่ดีกว่าด้วย SARG
    ถึงแม้ว่าการอ่านล๊อกไฟล์ของ Squid จะทำให้เราทราบการเรียกใช้งานเว็บไซต์ต่าง ๆ ของผู้ใช้ในระบบได้ก็ตาม แต่ก็ได้ข้อมูลที่ใช้ประโยชนได้ไม่มากนัก ทั้งนี้เนื่องจากเป็นข้อมูลดิบเกินไป รูปแบบก็อ่านได้ยาก ดังนั้นจึงมีโปรแกรมโอเพ่นซอร์สที่ถูกพัฒนาขึ้นเพื่อการวิเคราะห์ และสร้างรายงานในรูปแบบที่สะดวกต่อการนำข้อมูลมาใช้งานมากยิ่งขึ้น โปรแกรมประเภทนี้มีอยู่หลายตัว แต่ที่น่าสนใจและนำมาใช้งานได้อย่างดี คือ โปรแกรม SARG ( Squid Analysis Report Generator ) SARG เป็นโปรแกรมที่ออกแบบมาเพื่อทำงานร่วมกับ Squid โดยจะทำการวิเคราะห์ข้อมูลจากล๊อกไฟล์ของ Squid แล้วนำมาสร้างรายงานข้อมูลเชิงสถิติในหลาย ๆ ด้านเพื่อให้ผู้ดูแลระบบสามารถอ่านข้อมูลได้อย่างง่ายดายในรูปของเอกสารเว็บเพจ ( HTML ) ดังนั้นจึงง่ายต่อการนำเสนอผ่านเว็บเซิร์ฟเวอร์ ( Apache Web Server ) ซึ่งลีนุกซ์เองมักจะติดตั้งให้มาพร้อมอยู่แล้วเช่นเดียวกับซอฟต์แวร์สำคัญอื่น ๆ

    รูปแผนผังการทำงานของ SARG ร่วมกับบริการ Squid และ Apache
    ผู้ดูแลระบบจึงสามารถมอนิเตอร์ดูข้อมูลสถิติการใช้งานเว็บไซต์ต่าง ๆ ผ่านทางโปรแกรมเว็บบราวเซอร์ได้จากเครื่องคอมพิวเตอร์เครื่องใดก็ได้ในเครือข่าย แน่นอนว่าจะสั่งพิมพ์รายงานนั้น ๆ ออกมาได้ไม่ยากเช่นกัน แต่ถ้าหากข้อมูลเหล่านี้ต้องการปิดเป็นความลับ ( ไม่ต้องการให้ผู้ใช้งานทั่วไปเปิดดูรายงานนี้ได้ ) ก็ควรป้องกันด้วยการควบคุมการเข้าถึงเว็บเซิร์ฟเวอร์ ( Host Access Control ) หรือกำหนด Restriction เฉพาะบุคคลที่ได้รับอนุญาติเท่านั้นก็ได้ ( HTTP User Authentication ) ซึ่งเป็นคอนฟิกในส่วนความปลอดภัยของเว็บเซิร์ฟเวอร์นั่นเอง การติดตั้งและคอนฟิก SARG โปรแกรม SARG นี้เป็นซอฟต์แวร์โอเพ่นซอร์ส สามารถหาดาวน์โหลดได้จากเว็บไซต์ของผู้พัฒนาโปรแกรมโดยตรงที่ http://web.onda.com.br/orso/ ซึ่งมีซอฟต์แวร์ที่น่าสนใจให้ดาวน์โหลดมาใช้งานได้ฟรีอีกหลายตัวทีเดียว สำหรับ SARG จะมีไฟล์ที่ให้เลือกดาวน์โหลดทั้งแบบที่เป็น Tarball และเป็นแพคเกจ RPM ในที่นี้ผู้เขียนเลือกที่จะติดตั้งจากไฟล์ชนิด Tarball ซึ่งโปรแกรมนี้สามารถทำงานได้ดีบน Red Hat Linux ทุกรุ่นรวมทั้ง รุ่น 9.0 ซึ่งเป็นรุ่นปัจจุบันที่ผู้เขียนใช้ในการทดสอบครั้งล่าสุดนี้ด้วย หลังจากดาวน์โหลดไฟล์โปรแกรม sarg-1.4.1.tar.gz ขนาด 123KB มาแล้ว การติดตั้งสามารถทำได้ง่ายมาก โดยใช้คำสั่ง Tar แตกไฟล์ออกมาจะปรากฏเป็นไดเร็คทอรี่ sarg-1.4.1 ให้เข้าไปในไดเร็คทอรี่นี้ แล้วพิมพ์คำสั่งตามลำดับนี้ # ./configure
    # pico Makefile แก้ไขข้อความบรรทัด MANDIR ตามรูป
    หลังจากที่ใช้คำสั่ง ./configure แล้ว จำเป็นต้องปรับแก้ไขตำแหน่งของ Man page ของโปรแกรม SARG เล็กน้อย โดยแก้ไขข้อความบรรทัด MANDIR = /usr/local/man/man1 เป็น MANDIR = /usr/share/man/man1 แล้วบันทึกไว้ก่อนจะทำการคอมไพล์โปรแกรมต่อไป

    ลำดับต่อมาให้พิมพ์คำสั่ง make และ make install ตามลำดับ โปรแกรมจะได้รับการคอมไพล์และติดตั้งในที่ ๆ กำหนดไว้ดังนี้
    ตัวโปรแกรม SARG อยู่ที่ /usr/bin/sarg
    คอนฟิกไฟล์อยู่ที่ /usr/local/sarg/sarg.conf
    การคอนฟิกเบื้องต้นเพื่อให้ SARG ทำงานได้ใน Red Hat 9.0 จะต้องแก้ไขไฟล์คอนฟิกเล็กน้อย โดยใช้ Text Editor ที่คุณถนัดแก้ไขไฟล์ /usr/local/sarg/sarg.conf ที่บรรทัดข้อความต่อไปนี้ โดยค้นหาแล้วลบเครื่องหมาย # ที่คอมเมนต์ไว้ออก และแก้ไขตำแหน่งอ้างอิงใหม่ให้ตรงกับความเป็นจริงในระบบของเรา
    access_log /var/log/squid/access.log
    output_dir /var/www/html/squid_reports
    มีข้อควรระวังคือ อย่าให้มีเครื่องหมายวรรค ( space ) หรือ Tab อยู่ท้ายบรรทัดข้อความทั้งสองเด็ดขาด มิฉะนั้นโปรแกรมจะทำงานผิดพลาด จุดนี้ทำให้ผู้เขียนเสียเวลาไปพอสมควรที่เดียว ต่อจากนั้นให้ทดสอบการทำงานของ SARG โดยพิมพ์คำสั่ง sarg แล้วกด Enter เพื่อให้ทำการสร้างรายงานเป็นครั้งแรก โดยก่อนจะทดสอบเช่นนี้ได้จะต้องมีการรัน Squid ให้บริการไปแล้วซักระยะหนึ่งเพื่อให้มีข้อมูลปรากฏอยู่ใน access.log ของ Squid เสียก่อน หาก SARG สามารถทำงานได้อย่างถูกต้องจะปรากฏไฟล์ที่เป็นเว็บเพจขึ้นที่ output_dir ดังรูป


    ตั้งเวลากระตุ้น SARG ด้วย cron โดยปรกติแล้ว เราควรให้ SARG สรุปรายงานให้ทุก ๆ ช่วงเวลา เช่น สรุปทุก ๆ วันเป็นต้น ดังนั้นจึงต้องใช้โปรแกรม crond ซึ่งเป็น Schedule Jab Daemon ช่วยในการกระตุ้นให้ SARG วิเคราะห์สรุปรายงานของ Squid ในเวลาเที่ยงคืนของทุกวัน โดยเพิ่มข้อความต่อไปนี้ลงในไฟล์ /etc/crontab 0 0 * * * root /usr/bin/sarg หากโปรแกรม Apache Web Server ในเครื่องเซิร์ฟเวอร์ลีนุกซ์ของเราทำงานอยู่ตามปรกติ ผู้ใช้งานจะสามารถเปิดหน้าเว็บเพจของ SARG ที่รายงานสถิติของ Squid ได้ผ่านโปรแกรมเว็บบราวเซอร์ทั่วไป มีหน้าจอที่รายงานข้อมูลให้หลากหลายรูปแบบ ดังรูปต่อไปนี้


    สถิติเครื่องลูกข่าย( หรือยูสเซอร์ ) ที่ใช้งานเว็บมากที่สุด




    รายชื่อเว็บไซต์ที่มีการเรียกใช้งานมากที่สุด




    100 อันดับเว็บไซต์ที่ผู้ใช้นิยมเข้าชม




    หน้าแรกของ SARG จะแสดงเรียงตามวันที่สรุปรายงาน


    เปิดใจ..เปิดเผยซอร์สโค๊ดสู่เสรีภาพ โปรแกรม SARG หรือ Squid Analysis Report Generator เป็นเครื่องมือสำหรับผู้ดูแลระบบเครือข่ายอีกชิ้นหนึ่งที่จะช่วยให้ทราบการใช้งานอินเตอร์เน็ตของยูสเซอร์ในองค์กรได้อย่างเป็นรูปธรรม ต้องขอขอบคุณประสบการณ์ที่เป็นประโยชน์อย่างยิ่งจากคุณสมชายที่ได้เอื้อเฟื้อข้อมูลเกี่ยวกับการประยุกต์ใช้งานลีนุกซ์และซอฟต์แวร์โอเพ่นซอร์สในบริษัท ถึงแม้ว่าจะมีเสรีภาพของการเผยแพร่มากแค่ไหนก็ตาม คุณค่าของซอฟต์แวร์โอเพ่นซอร์สไม่มีทางที่จะถูกนำมาใช้ประโยชน์ในวงกว้างได้เลย หากปราศจากความรู้ความเข้าใจในวัฒนธรรมของสังคมโอเพ่นซอร์ส และความเสียสละจากพวกเราทุกคน รูปแบบการประยุกต์ใช้งานลีนุกซ์ในโซลูชั่นระดับองค์กรมีอีกมากมาย ท่านผู้อ่านสามารถติดตามได้จากเว็บไซต์ของผู้เขียน http://www.itdestination.com ในฉบับหน้าจะเป็นโซลูชั่นในด้านไหนโปรดติดตามในตอนต่อไป ฉบับนี้สวัสดีครับ