Month: December 2012

  • ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงาน”

    กิจกรรมของ CoP PSU sysadmin ของเราในลำดับต่อไป จะจัดขึ้นในวันที่ 31 ม.ค. 56 (พฤหัส) เวลา 09.00 – 16.00 น. มีอาหารเที่ยงเลี้ยง ที่ห้อง 101 อาคารศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    (หมายเหตุ วันที่ 30 ม.ค. 56 ทีมวิทยากรจะเตรียมห้องอบรมด้วยกัน) หากท่านสนใจรีบแจ้งอีเมลมาที่ผมโดยตรง ( wiboon.w@psu.ac.th ) หรือทางเฟสบุ๊คของกลุ่ม และผมจะนำรายชื่อมาใส่ไว้ด้านล่างของบล็อกนี้ (ดูรายชื่อผู้เข้าร่วมติว)

    ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงาน”

    กลุ่มเป้าหมาย

    • ผู้ดูแลระบบคอมพิวเตอร์และเครือข่ายของม.อ.วิทยาเขตต่างๆ

    ระยะเวลา

    • 1 วัน

    สถานที่และเครื่องคอมพิวเตอร์ที่ใช้

    • ต้องใช้ห้องอบรมที่มีเครื่องคอมพิวเตอร์จำนวน 2 เครื่องต่อผู้เข้าอบรม 1 คน

    เนื้อหา

    • เป็นเรื่องราวเกี่ยวกับการนำโอเพนซอร์สและฟรีแวร์ มาประยุกต์ใช้ในการจัดการห้องบริการคอมพิวเตอร์และสำนักงาน
    • แนะนำโปรแกรม pGina บนวินโดวส์ เพื่อควบคุมการใช้เครื่องคอมพิวเตอร์ โดยใช้ radius server ที่ติดตั้งพร้อมใช้งานอยู่ใน PSU-12 ต้นแบบพัฒนาจาก FreeRADIUS ซึ่งมี module ที่สามารถ authen กับ PSU-Passport ได้
    • ความรู้เกี่ยวกับ Disk/Partition/Booting
    • แนะนำชุดโปรแกรม PSU-12

    ชุดโปรแกรม PSU-12 ที่มีสรรพคุณดังนี้

    • Boot Manager Server – ห้องคอมพิวเตอร์อัจฉริยะ ควบคุม boot manager จาก server
    • Cloning Server – ระบบโคลนนิงผ่าน network ใช้ทดแทนโปรแกรม GHOST
    • โคลนนิงได้ทั้ง MS Windows และ Linux
    • DHCP + PXE Server – ทำงานเป็น DHCP server และ PXE server
    • มีระบบบันทึก log accounting
    • สามารถกำหนดให้ หาก PC ลูกข่ายไม่ต่อกับ network จะบูทไม่ได้
    • ประยุกต์ใช้งานบังคับให้อ่าน message of today จึงจะบูทเครื่องใช้งานได้
    • สามารถกำหนดให้ PC ลูกข่ายบูทเข้า partition ไหนก็ได้

    รายละเอียดหัวข้อติว
    ตอนที่ 1 – ติดตั้ง server

    • ติดตั้ง Ubuntu server
    • ติดตั้งชุด PSU-12
    • การปรับแต่งให้ PSU-12 เป็น radius server ที่สามารถ authen กับ @psu.ac.th และ PSU-Passport
    • ทดสอบ authen กับอีเมลของ @psu.ac.th
    • ทดสอบ authen กับบัญชีผู้ใช้ PSU-Passport
    • สามารถปรับตั้งให้เฉพาะบุคลากรของ PSU หรือเฉพาะบุคลากรในหน่วยงานเท่านั้นที่ใช้บริการได้
    • สามารถปรับตั้งให้เฉพาะนักศึกษาในคณะเท่านั้นที่ใช้บริการได้

    ตอนที่ 2 – การโคลนนิ่ง

    • การ Cloning เครื่องต้นแบบไปเก็บเป็นไฟล์ต้นฉบับ (Backup Process)
    • การ Backup Partition Table
    • การ Backup Partition
    • การ Cloning เครื่องใหม่จากไฟล์ต้นแบบ (Restore Process)
    • การตั้งค่าเพื่อทำให้ระบบที่ Cloning มากลับมา boot ได้

    ตอนที่ 3 – ติดตั้งโปรแกรมสำหรับควบคุมการใช้เครื่องคอมพิวเตอร์

    • แบ่ง partition ของฮาร์ดดิสก์โดยใช้แผ่นซีดี Sysresccd และลง Windows 7 ใหม่ใน partition ที่สร้างขึ้น
    • ติดตั้งโปรแกรมเก็บข้อมูลการใช้เครื่องคอมพิวเตอร์ MS และบันทึกไว้บน server ที่เลือก
    • ติดตั้งโปรแกรม pGina เพื่อให้ login เข้าก่อนใช้เครื่อง MS
    • ตั้งค่า message of today
    • สามารถตั้งเวลา shutdown จาก server โดยตรงได้

    วิทยากร

    • ชัยวัฒน์ ศรีจันทร์กุล คณะวิทยาการจัดการ
    • ธีรเดช เขมะธีรรัตน์ คณะทันตแพทยศาสตร์
    • วิศิษฐ โชติอุทยางกุร คณะทันตแพทยศาสตร์
    • วิบูลย์ วราสิทธิชัย ศูนย์คอมพิวเตอร์

    รายชื่อผู้แจ้งเข้าร่วมติว

    1. วันชัย แซ่ลิ่ม ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์
    2. อาฮาหมัด เจ๊ะดือราแม งานเทคโนโลยีสารสนเทศ คณะเทคนิคการแพทย์ (*)
    3. ศิริพงษ์ ศิริวรรณ คณะเภสัชศาสตร์
    4. ดุษณี โสภณอดิศัย คณะนิติศาสตร์ (*)
    5. ฝาติหม๊ะ เหมมันต์ ภาควิชาวิศวกรรมเครื่องกล คณะวิศวกรรมศาสตร์
    6. เกรียงไกร หนูทองคำ ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    7. เอกภพ ถาวรจิตร สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร
    8. นิติ โชติแก้ว คณะการแพทย์แผนไทย
    9. เพียงพิศ สุกแดง คณะวิทยาการจัดการ
    10. วิมลรัตน์ แดงสุวรรณ บัณฑิตวิทยาลัย
    11. พรจรัส สุทธินันท์ คณะการจัดการสิ่งแวดล้อม
    12. สงกรานต์ มุณีแนม ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    13. คณกรณ์ หอศิริธรรม ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    14. สุวัฒน์ อนันตคุณูปกร ศูนย์สื่อการเรียนรู้
    15. เกียรติศักดิ์ คมขำ ศูนย์สื่อการเรียนรู้
    16. ศรายุทธ จุลแก้ว ศูนย์สื่อการเรียนรู้
    17. ปุณณวัชร์ วิเทียมญลักษณ์ ศูนย์สื่อการเรียนรู้ (*)
    18. จรรยา เพชรหวน งานเทคโนโลยีและสารสนเทศ คณะทรัพยากรธรรมชาติ
    19. ยุวภา โฆสกิตติกุล คณะทรัพยากรธรรมชาติ
    20. ภูเมศ จารุพันธ์ สารสนเทศ คณะพยาบาลศาสตร์
    21. กฤตกร อินแพง สารสนเทศ คณะพยาบาลศาสตร์ (fb: Nick Justice)
    22. นาลิวัน หีมเห็ม สำนักวิจัยและพัฒนา
    23. ธีรวัฒน์ แตระกุล ฝ่ายวิจัยและบริการ คณะเภสัชศาสตร์
    24. สุระเชษฐ์ วงศ์อารยพาณิช คณะวิศวกรรมศาสตร์ (*)
    25. กฤษณะ คีรีวัลย์ คณะวิศวกรรมศาสตร์
    26. เสะอันวา เสะบือราเฮง คณะศึกษาศาสตร์ ม.อ.ปัตตานี

    ( (*) ไม่ได้เข้าร่วม)

  • การเปลี่ยนชื่อ group mail ใน mailman

    ในการใช้ mailman เพื่อการให้บริการ Mailing List หรือ Group Mail นั้น การเปลี่ยนชื่อกลุ่มนั้น ค่อนข้างยุ่งยาก แต่สามารถทำได้ง่ายกว่า โดยการสร้าง List ใหม่แล้ว เอา Config และ Member เดิมมาใส่

    ขอยกตัวอย่าง กรณี จะเปลี่ยน group name ของกลุ่มคณะ วจก. ซึ่งเดิมจะขึ้นต้นด้วย mgt-* ให้ไปเป็น fms-*
    ก็จะใช้ Shell Script ตามนี้

    oldname="mgt"
    newname="fms"
    owner="admin.name@psx.ac.th"
    password="xxxxxx"
    
    for line in $( /usr/lib/mailman/bin/list_lists | grep -i "$oldname-"|awk '{print $1}') ; do
       /usr/lib/mailman/bin/config_list -o $line.txt $line
       /usr/lib/mailman/bin/list_members $line > $line-member.txt
       newgroupname=$newname-$(echo $line | sed -e "s/$oldname-\(.*\)*/\1/i")
       sed -e "s/$oldname-/$newname-/i" $line.txt > $newgroupname.txt
       /usr/lib/mailman/bin/newlist $newgroupname $owner $password
       /usr/lib/mailman/bin/config_list -i $newgroupname.txt $newgroupname
       /usr/lib/mailman/bin/add_members -w n -a n -r $line-member.txt $newgroupname
    done

    1. เมื่อต้องการทราบว่า ในระบบของ mailman มี List ใดบ้างที่ชื่อขึ้นต้นด้วย “mgt-” บ้าง
    ใช้คำสั่ง

    /usr/lib/mailman/bin/list_lists | grep -i "mgt-"

    2. ซึ่งจะพบว่ามีหลายกลุ่ม ที่มีชื่อขึ้นต้นด้วย “mgt-“, ก็สามารถใช้ Shell Script เพื่อ เอาผลลัพธ์ จากคำสั่งดังกล่าว มาทำงานร่วมกับคำสั่ง ต่อไปนี้ เพื่อเก็บ Config ของกลุ่มนั้นๆ ออกมาเป็นไฟล์ (สมมุติว่า ชื่อกลุ่มคือ mgt-xxx ก็นำออกมาเป็นไฟล์ชื่อ mtg-xxx.txt)

    /usr/lib/mailman/bin/config_list -o mgt-xxxx.txt mgt-xxx

    3.ต่อไป วิธีการดูว่า แต่ละกลุ่ม มีใครเป็นสมาชิกบ้าง แล้วนำออกมาเป็นไฟล์ (สมมุติว่า ชื่อกลุ่มคือ mgt-xxx ก็นำออกมาเป็นไฟล์ชื่อ mtg-xxx-member.txt)

    /usr/lib/mailman/bin/list_members mgt-xxx > mgt-xxx-member.txt

    จะได้ไฟล์ชื่อเดียวกับชื่อกลุ่ม แต่จะลงท้ายด้วยคำว่า -member.txt

    4, ในการเปลี่ยนชื่อกลุ่ม จะเปลี่ยนจาก mgt-xxxx มาเป็น fms-xxxx วิธีการที่จะได้คำว่า xxxx ที่ต่อท้าย mgt-xxxx นั้น ใช้คำสั่งต่อไปนี้

    echo "mgt-xxxx" | sed -e "s/mgt-\(.*\)*/\1/i"

    คำสั่ง sed นั้นมี option “-e” คือการสั่งให้ execute คำสั่งที่ตามมา
    ส่วน  “s/mgt-\(.*\)*/\1/i” นั้น จะมีโครงสร้างคือ

    s/pattern/replace/i

    s : หมายถึง substitute คือ แทนที
    pattern: ที่เขียนว่า mgt-\(.*\)* หมายความว่า เมื่อเจอรูปแบบ mgt-xxxx ก็จะเอา xxxx มาเก็บไว้ในตัวแปร
    replace: ที่เขียนว่า \1 ก็คือเอาค่าจากตัวแปรใน pattern \(.*\) นั่นก็คือ xxxx
    i: ตัวสุดท้ายหมายถึง Case-Insensitive หรือ ไม่สนใจตัวเลขตัวใหญ่

    5. ต่อไป เป็นสร้าง List ใหม่ ใช่คำสั่งว่า

    /usr/lib/mailman/bin/newlist fms-xxxx admin.name@psx.ac.th xxxxxx

    คือ สร้างกลุ่มใหม่ชื่อ fms-xxxx โดยให้ owner เป็น admin.name@psx.ac.th และใช้พาสเวิร์ดเป็น xxxxxx

    6. ปรับ config ของกลุ่มใหม่นี้ ให้เป็นตามกลุ่มเดิม

     /usr/lib/mailman/bin/config_list -i fms-xxxx.txt fms-xxxx

    โดยนำ config จากไฟล์ fms-xxxx.txt มาปรับใช้กับกลุ่มชื่อ fms-xxxx

    7. สุดท้าย นำสมาชิกจากกลุ่มเดิม เข้าสู่กลุ่มใหม่

    /usr/lib/mailman/bin/add_members -w n -a n -r mgt-xxxx-member.txt fms-xxxx

    โดย option แต่ละตัวหมายถึง
    -w n : ไม่ต้องแจ้งผู้ใช้ว่าถูกเพิ่มเข้ากลุ่ม
    -a n : ไม่ต้องแจ้ง owner

    และนำข้อมูลสมาชิกจากไฟล์ mgt-xxxx-member.txt เข้ากลุ่ม fms-xxxx

  • How Cyrus Murder (Mail Clustering) work?

    ต่อจาก Mail Clustering with Cyrus Murder

    เมื่อ Backend ทำการ Restart หรือมีการเปลี่ยนแปลงเกี่ยวกับ Mailbox

    เครื่อง backend01 และ backend02 ทำการรายงาน mailbox ทั้งหมดในเครื่องของตนเอง ให้ mupdate ทราบ จากนั้น mupdate ก็จะทราบว่า ทั้ง Cluster มี mailbox อะไรและอยู่ที่ใด

    โดยเครื่อง backend01 และ backend02 จะ Login ด้วย User ที่สร้างไว้ใน mupdate ก่อน จากนั้นจึงสามารถทำการ Synchronize ข้อมูล mailbox ไปยัง mupdate ได้

    เมื่อ Mail client ติดต่อใช้บริการ IMAP/POP มายัง Frontend Server

     

    1. เมื่อ Mail Client ซึ่งสมมุติว่า ตั้งค่า Incoming Server เป็น frontend.yourdomain.com ซึ่งเป็นแบบ DNS Round Robin ก็ตอบ IP Address ของเครื่อง frontend server ใน cluster เช่นตอบ IP Address ของ frontend01.yourdomain.com เป็นต้น

    2. เมื่อ frontend01.yourdomain.com รับการเชื่อมต่อจาก Mail Client และทำหน้าที่เป็น IMAP Proxy, สมมุติ Mail Client ต้องการติดต่อ Mailbox ของ User/yingyong.f, เครื่อง frontend01 ก็จะสอบถามไปยัง mupdate ว่า user/yingyong.f อยู่ที่เครื่องใด, ซึ่ง mupdate ก็ดูในฐานข้อมูลตนเอง และตอบว่าอยู่ที่ backend02

    3. จากนั้น frontend01 ก็จะติดต่อกับ backend02 จากนั้น เมื่อผู้ใช้ส่งคำสั่งต่างๆมาจาก Mail Client ก็จะทำผ่าน frontend01 ซึ่งจะไปสอบถาม backend02 ต่อไป จนกระทั่ง ปิดการเชื่อมต่อ

    เมื่อ Mail Client ส่ง email ถึง Domain

     

    1. Mail Client ส่ง email ถึง somsri.b@yourdomain.com, ระบบ DNS จะหาว่า yourdomain.com อยู่ที่ไหน ก็จะพบว่า MX Record ของ yourdomain.com อยู่ที่ frontend.yourdomain.com จากนั้น DNS ก็จะใช้ Round Robin ตอบ IP Address ของหนึ่งใน Frontend มา สมมุติว่าตอบของ frontend02 มา

    2. เครื่อง frontend02 ก็จะไปถาม mupdate ว่า somsri.b อยู่ที่เครื่องใด, mupdate ตอบว่า อยู่ที่ backend01

    3. เครื่อง frontend02 ก็จะส่ง email ต่อไปให้ เครื่อง backend01 เพื่อเขียนลง Mailbox ของ somsri.b ต่อไป

     

  • วิธีการแก้ปัญหา JAuthentication::__construct: Could not load authentication libraries ใน joomla 2.5

    สวัสดีครับวันนี้มาเขียนเรื่องการแก้ปัญหา joomla version 2.5 ที่ผู้ใช้ไม่สามารถ login เข้า back end ได้ ดัง error ที่ปรากฏดังนี้ JAuthentication: :__construct: Could not load authentication libraries ซึ่งวิธีการแก้ไขนั้นหากเป็น joomla version 1.5.xx  เก่าๆ ก็ไป jos_login  ซึ่งหาเจอง่ายมาก แต่นี่เวอร์ชั่นใหม่มันไปหลบซ่อนอยู่ที่   rwyai_extensions > plg_authentication_joomla (อยู่หน้าที่3)>เลือก edit ปรับ enable จาก 0 ให้เป็น 1 และก็ save จากนั้นท่านก็จะสามารถเข้าไปใช้งานฝั่ง back end ของ joomla 2.5 ได้เหมือนเดิมแล้วครับ

  • การใช้งาน error_log() ของ PHP ในการบันทึกค่าต่างๆ

    ในการเฝ้าระวังระบบที่เป็น PHP Web Application บางครั้งก็ต้องการเก็บค่าบางอย่างลง Log file

    ทำไงดี ?

    อาจจะใช้วิธี สร้างไฟล์ไว้ในพื้นที่ ที่ web user สามารถเขียนได้ แล้วก็จัดการเอง ด้วย function พวก fopen(), fwrite(), fclose(); เช่น

    $fp = fopen(‘/var/log/mylog.txt’, ‘a’);
    fwrite($fp, ‘20121207:some text’);
    fclose($fp);

    เป็นต้น ซึ่ง ก็พอจะทำได้ แต่ต้องคำนึงถึงเรื่อง permission ในการเขียน และพวกสิทธิต่างๆ

    ใน PHP เราสามารถบันทึกสิ่งต่างๆลงไปในไฟล์ System Log ได้เลย โดยใช้ฟังก์ชั่น error_log
    นอกจากนั้น ยังสามารถเลือกให้เป็นการส่ง email แทนการเขียน log ลงไฟล์ก็ได้ หรือ จะเลือกเขียนลงไฟล์อื่นที่แยกไปจาก System Log ก็ได้

    การใช้งาน

    error_log(message, message_type, destination, options)

    message: เป็นข้อความที่ต้องการบันทึก
    message_type: ใช้ค่า 0,1,3,4 ซึ่งมีความหมายดังนี้

    0: เป็นค่า Default ซึ่งเขียนลงไปใน System Log (ตามที่ระบุในค่า error_log ของ PHP ในไฟล์ php.ini)
    1: เลือกให้ส่ง message ในรูปแบบ email ไปยัง destination โดยใช้ Header ของ email ตาม options
    3: เลือกให้เขียน message ลงในไฟล์ที่กำหนดใน destination (ไม่ใช่ system log) โดยจะต้องเขียน newline ต่อท้ายบรรทัดเอง
    4:  เลือกให้เขียนลงไปใน SAPI (จากการทดสอบบน apache บน Ubuntu พบว่า เขียนลงที่เดียวกับ System Log)

    destination: หาก message_type=1 ให้ระบบ email address ที่ต้องการส่งถึง, หาก message_type=3 ให้ระบุตำแหน่งของไฟล์ที่ต้องการเขียน

    options: ในกรณี message_type=1 สามารถระบุ header ของ email ได้

    ลองเขียน PHP ตามนี้ ลงในไฟล์ test-error_log.php

    <?php
    #ini_set(‘error_log’,’/var/log/myother.log’);
    echo ‘error_log = ‘ . ini_get(‘error_log’) . “\n”;
    error_log(“This is error_log #0”, 0);
    error_log(“This is error_log #1”, 1, “username.s@yourdomain.com”, “Subject: Message Type #1\n”);
    error_log(“This is error_log #3”, 3, “/var/log/mytest.log”);
    error_log(“This is error_log #4”, 4);
    ?>

    แล้วใช้คำสั่ง
    php  test-error_log.php

    ผลที่ออกมานั้น ถ้า

    1. ใน php.ini ไม่ได้ระบุว่า error_log เขียนไปที่ไหน (error_log=) ก็จะแสดงผลออกมาทาง stderr

    error_log =
    This is error_log #0
    This is error_log #4

    จะมี email ส่งถึงตัวเรา มี Subject ว่า Message Type #1 และมีข้อความว่า “This is error_log #1”
    และจะมี log file เกิดขึ้นที่  /var/log/mytest.log โดยมีข้อความว่า “This is error_log #3”

    2. ถ้าใน php.ini ระบุว่า error_log แล้ว เช่น เขียนไปที่ syslog ผลที่ได้คือ

    error_log =  syslog

    จะมี email ส่งถึงตัวเรา มี Subject ว่า Message Type #1 และมีข้อความว่า “This is error_log #1”
    จะมี log file เกิดขึ้นที่  /var/log/mytest.log โดยมีข้อความว่า “This is error_log #3”
    และใน syslog file เช่น /var/log/syslog จะมีข้อความว่า (ทำนองนี้)

    Dec 7 11:11:11 blade3 php: This is error_log #0
    Dec 7 11:11:12 blade3 php: This is error_log #4

    3. ถ้าลอง uncomment โดยเอาเครื่องหมาย # ออกจากบรรทัด
    #ini_set(‘error_log’,’/var/log/myother.log’);
    ก็จะได้ผลว่า

    error_log = /var/log/myother.log

    จะมี email ส่งถึงตัวเรา มี Subject ว่า Message Type #1 และมีข้อความว่า “This is error_log #1”
    จะมี log file เกิดขึ้นที่  /var/log/mytest.log โดยมีข้อความว่า “This is error_log #3”
    และใน /var/log/myother.log จะมีข้อความว่า (ทำนองนี้)

    Dec 7 11:11:11 blade3 php: This is error_log #0
    Dec 7 11:11:12 blade3 php: This is error_log #4

    ครับ

  • กิจกรรม CoP PSU sysadmin KM1 “การทำงานกับ PSU Passport”

    กิจกรรม CoP PSU sysadmin KM1 “การทำงานกับ PSU Passport” วันที่ 21 ธ.ค. 55 เวลา 09.30 – 14.00 น. มีอาหารเที่ยงเลี้ยงด้วย พบกันที่ห้อง 102 ศูนย์คอมพิวเตอร์ ม.อ. หาดใหญ่ครับ

    กำหนดการ
    เวลา 09.30 – 10.00 น. ลงทะเบียนและรับประทานอาหารว่าง
    เวลา 10.00 – 12.00 น. แลกเปลี่ยนเรียนรู้ หัวข้อ “การทำงานกับ PSU Passport”
    เวลา 12.00 – 13.00 น. รับประทานอาหารเที่ยงร่วมกัน
    เวลา 13.00 – 14.00 น. ตอบปัญหาและข้อซักถาม

    นำเสนอโดย คุณจตุพร ชูช่วย แอดมินทีมเซิร์ฟเวอร์ ศูนย์คอมพิวเตอร์ ม.อ. หาดใหญ่
    รอบนี่้ผมคิดว่า คุยกันไม่ต้องเร่งรีบมาก ในช่วงแรก แล้วเบรคพักเที่ยง ทานข้าวด้วยกัน แล้วถ้ายังมีคำถามไว้ในช่วงบ่ายอีก 1 ชั่วโมงครับ (ดูรายชื่อผู้ที่แจ้งเข้าร่วม)

    หัวข้อที่จะเล่าและตอบคำถาม
    1. โครงสร้างของระบบ PSU Passport
    2. การนำเข้าข้อมูลเพื่อสร้าง Account บน PSU Passport
    3. บริการของระบบ PSU Passport (ldap/ldaps,web service,ระบบเปลี่ยนรหัสผ่าน)
    4. สิทธิการเข้าถึงชั้นความลับของ PSU Passport (ระบบความปลอดภัยของข้อมูล)
    5. ข้อกำหนดใช้บริการ PSU Passport (พรบ. คอม 50)
    6. ระบบจัดการข้อมูลบน PSU Passport (AdsAdmin)
    7. การออก Account ในกลุ่มอื่น ๆ (Guest,VIP,LAB)
    8. ตัวอย่างการเข้าใช้งานบน Application ต่าง ๆ (LDAP,Web Service)
    9. ระบบลงทะเบียน Server Authen ในอนาคต
    10. แนวทางการเผยแพร่ความรู้ในอนาคต
    11. ตอบคำถามกวนใจใคร

    ช่วง ตอบคำถามกวนใจใคร เช่น

    ผู้ใช้: อยากให้ศูนย์คอมฯมี database view ของ PSU Passport เพื่อให้คณะคอนเนคเข้ามาได้
    แอดมินศูนย์:
    – ข้อมูลอะไรครับ หากเฉพาะ user/password ก็ใข้ passport ได้อยู่แล้ว ?
    – หากเป็นข้อมูลบุคลากรให้ติดต่อการเจ้าหน้าที่มหาวิทยาลัยเพื่อขอสิทธิ์เข้าถึงข้อมูลครับ
    – และหากเป็นข้อมูลนักศึกษาให้ติดต่อทะเบียนกลางเพื่อขอสิทธิ์เข้าถึงข้อมูล ครับ
    ผู้ใช้: ถ้าให้ 0com เป็นตัวกลาง ประสานงานให้ แบบ one stop service ได้มั้ยครับ
    แบบว่าไม่ต้องไปติดต่อหลายที่
    แอดมินศูนย์:
    ไม่ได้ครับ เพราะเราไม่ใช่เจ้าของข้อมูล เป็นแค่ที่เก็บ ต้องขอเจ้าของครับ

    ผู้ใช้: สามารถทำให้ antivirus แต่ละค่าย สามารถ
    update อัตโนมัติได้โดยไม่ต้อง authen psu passport ได้ไหม
    เพราะโดยปกติเครื่องคอมขึ้นมา โปรแกรม antivirus จะทำการ update
    ให้อัตโนมัติ เครื่องคอมผู้ใช้ ถ้าไม่ได้ authen psu passport
    ผ่านหน้าเว็บทันที จะขึ้น โปรแกรม antivirus จะเตือน update failed

    ผู้ใช้: ไม่แน่ใจว่า ตอนนี้ ศูนย์คอมเปิดเป็น web service ให้กับคณะเรียกใช้หรือเปล่า

    ขอบคุณทุกท่านที่มาร่วมกันแลกเปลี่ยนเรียนรู้ด้วยกัน
    วิบูลย์

    รายชื่อผู้ดำเนินกิจกรรมครั้งนี้

    1. วิบูลย์ วราสิทธิชัย ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    2. จตุพร ชูช่วย  ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่

    รายชื่อผู้ที่แจ้งเข้าร่วม

    1. ศิริพงษ์ ศิริวรรณ ศูนย์เทคโนโลยีสารสนเทศ คณะเภสัชศาสตร์
    2. คณกรณ์ หอศิริธรรม ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    3. เกรียงไกร หนูทองคำ ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    4. วชิรวิชญ์  จิวานิจ ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    5. อาทิตย์ อรุณศิวกุล งานสารสนเทศ คณะศิลปศาสตร์
    6. ภูเมศ จารุพันธ์ สารสนเทศ คณะพยาบาลศาสตร์
    7. จอมขวัญ สุวรรณมณี สารสนเทศ คณะพยาบาลศาสตร์
    8. กฤตกร อินแพง สารสนเทศ คณะพยาบาลศาสตร์
    9. พรจรัส สุทธินันท์ คณะการจัดการสิ่งแวดล้อม
    10. ฉัตรชัย จันทร์พริ้ม วิศวกรรมคอมพิวเตอร์
    11. อำนาจ สุคนเขตร์ ฝ่ายเทคโนโลยีการศึกษา สำนักวิทยบริการ ม.อ.ปัตตานี
    12. สัมฤทธิ์ ฤทธิภักดี ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    13. ณัฏฐิกา หัตถกรรม ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    14. สุนทรี นภิบาล ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    15. โกศล โภคาอนนต์ ศูนย์คอมพิวเตอร์  ม.อ.หาดใหญ่
    16. ภัทธ์ เอมวัฒน์ สำนักวิทยบริการ ม.อ.ปัตตานี
    17. ก้องชนก ทองพลัด กองบริการการศึกษา สำนักงานอธิการบดี วิทยาเขตหาดใหญ่
    18. นิติ โชติแก้ว คณะการแพทย์แผนไทย
    19. ชัยวัฒน์ ศรีจันทร์กุล คณะวิทยาการจัดการ
    20. บุญศิริ บุญยก สำนักงานเลขานุการ คณะวิทยาการจัดการ
    21. สุทิศา จรียานุวัฒน์ งานเทคโนโลยีสารสนเทศ  คณะทันตแพทยศาสตร์
    22. ธีรเดช เขมะธีรรัตน์ งานเทคโนโลยีสารสนเทศ  คณะทันตแพทยศาสตร์
    23. เพียงพิศ สุกแดง  คณะวิทยาการจัดการ
    24. ธีรวัฒน์ แตระกุล ฝ่ายวิจัยและบริการ คณะเภสัชศาสตร์
    25. วิมลรัตน์ แดงสุวรรณ บัณฑิตวิทยาลัย
    26. กิตติศักดิ์ แก้วเนียม จากสำนักฯ ม.อ.ปัตตานี
    27. จรัล บูลวิบูรณ์ คณะศิลปศาสตร์
    28. เสกสรร มาลานุสรณ์ คณะศิลปศาสตร์
    29. จรรยา เพชรหวน งานเทคโนโลยีและสารสนเทศ คณะทรัพยากรธรรมชาติ
    30. ยุวภา โฆสกิตติกุล คณะทรัพยากรธรรมชาติ
    31. สุวัฒน์ อนันตคุณูปกร ศูนย์สื่อการเรียนรู้
    32. ดุษณี โสภณอดิศัย  คณะนิติศาสตร์
    33. ธิดาวรรณ์ แซ่เล่า
    34. ปิยะวัชร์ จูงศิริ คณะวิศวกรรมศาสตร์
    35. สุรเชษฐ์ หนูแท้ คณะแพทยศาสตร์
    36. อาฮาหมัด เจ๊ะดือราแม งานเทคโนโลยีสารสนเทศ คณะเทคนิคการแพทย์
    37. สุระเชษฐ์ วงศ์อารยพาณิช คณะวิศวกรรมศาสตร์
    38. สนธยา เมืองโต หน่วยคอมพิวเตอร์ ม.อ.ปัตตานี
    39. สายัณ อินชะนะ หน่วยคอมพิวเตอร์ ม.อ.ปัตตานี
    40. หฤทัย สมบูรณ์รุ่งโรจน์ ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    41. ทิพาพร พัฒนศิริ  ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
    42. พงษ์พันธ์ ประพันธ์ ม.อ.ตรัง
    43. อนันต์ ทองนวล ม.อ.ตรัง
    44. ธีรพันธุ์  บุญราช คณะเภสัชศาสตร์
    45. นพชาติ เลิศพูนสวัสดิ์  ศูนย์คอมพิวเตอร์ ม.อ.หาดใหญ่
  • Mail Clustering with Cyrus Murder

    ปัจจุบันมีการใช้งาน e-mail มากขึ้น และมีการเก็บข้อมูลต่างๆใน email ไว้เป็นจำนวนมาก ทำให้ Mail Server ของหน่วยงานเดิม อาจจะมีเนื้อที่ไม่เพียงพอต่อการใช้งาน ทำให้ต้องมีการขยายพื้นที่ Mail Server ให้มากขึ้น

    วิธีการที่นิยมใช้กันคือ ซื้อระบบใหม่ที่มี Harddisk ใหญ่ขึ้น หรือ ต่อกับระบบ Storage ที่ใหญ่ขึ้น (เช่น SAN หรือ Storage Cluster)

    วิธีการนี้ เรียกว่า Scale-Up ซึ่งเมื่อมีการใช้งานต่อไป แล้วข้อมูลจัดเก็บมากขึ้น ก็ต้องวางแผนในการซื้อระบบที่ใหญ่ขึ้นไปอีก

    ข้อดี:
    1. เป็นวิธีการที่นิยมทำกัน
    2.ได้ระบบใหม่ที่มีศักยภาพสูงขึ้นเรื่อยๆ

    ข้อเสีย:
    1. เมื่อจะย้ายระบบใหม่ จะเกิด Downtime เพราะต้องหยุดการทำงานของระบบเดิมทั้งระบบ
    2.  ในการย้ายข้อมูล email ซึ่งมีปริมาณมาก ต้องใช้เวลานาน และเสี่ยงต่อข้อมูลที่ไม่เป็นปัจจุบันที่สุดด้วย (ล่าสุดที่ทำการย้ายข้อมูลขนาด 300 GB ซึ่งลักษณะ email ที่ใช้เก็บข้อมูลเป็นไฟล์เล็กๆจำนวนมาก ต้องใช้เวลาถึง 18 ชั่วโมง)
    3. และที่หลีกเลี่ยงไม่ได้ ระบบแบบเดิมนี้ เป็น “Single Point of Failure” กล่าวคือ  ถ้าระบบเสียหาย ก็จะกระทบกับผู้ใช้ทั้งหมด

     

    แต่มีอีกแนวทางหนึ่ง เรียกว่าการ Scale-Out คือ การใช้ระบบที่เป็น Mail Cluster แทน เมื่อมีความต้องการขยายพื้นที่ ก็เพียงแต่ซื้อเครื่องใหม่ แล้วเพิ่มเข้าสู่ระบบ Cluster แล้วเริ่มต้นใช้งานต่อเนื่องได้

    แนวทาง Scale-Out ทำให้สามารถขยายพื้นที่จัดเก็บได้เรื่อยๆ อย่างต่อเนื่อง

    ข้อดี:
    1.ลดปัญหา Single Point of Failure โดยการกระจายที่จัดเก็บไปใน Server ต่างๆใน Cluster เมื่อเกิดความเสียหากับเครื่องใดเครื่องหนึ่ง ก็จะไม่กระทบกับผู้ใช้ทั้งหมด
    2. เมื่อต้องการพื้นที่จัดเก็บเพิ่ม ไม่ต้องหยุดการทำงานทั้งระบบ เพียงเพิ่มเครื่องใหม่เข้าใน Cluster แล้วปรับแต่งค่าเพียงเล็กน้อย ก็สามารถใช้งานได้เลย

    ข้อเสีย:
    1. ระบบมีความซับซ้อนยิ่งขึ้น มีระบบต้องเฝ้าระวังมากขึ้น

    ในระบบ PSU E-Mail Service ใช้โอเพนซอร์สซอฟต์แวร์ในการบริการ Email คือ cyrus-imapd ซึ่งสามารถสร้างระบบ Mail Cluster ด้วยการติดตั้งแพคเกจที่ชื่อว่า cyrus-murder ได้

    Cyrus Murder ประกอบไปด้วย Server 3 ประเภท
    1. Backend Servers: ทำหน้าที่เก็บ Mailbox ของผู้ใช้, โดยแต่ละเครื่องจะรายงานรายละเอียดของ Mailbox ที่อยู่บนเครื่องตนเอง ให้ MUPDATE Server ทราบ
    2. Frontend Servers: ทำหน้าที่บริการ IMAP/POP ให้กับ Mail Client และ บริการ SMTP เพื่อส่งถึง Mailbox ที่อยู่บน Backend Servers ที่ถูกต้อง โดยอาศัยบริการของ MUPDATE Server เพื่อให้ทราบว่า Mailbox ที่ต้องการติดต่อด้วย อยู่บน Backend Server เครื่องใด
    3. MUPDATE Servers: ทำหน้าที่เป็นฐานข้อมูลกลางของ Mailbox ทั้งหมดใน Backend Cluster โดยรับรายงานจาก Backend Servers และบริการตอบ Fronend Servers ว่า Mailbox ที่ต้องการติดต่อด้วย อยู่บน Backend Server เครื่องใด

    อ่านต่อ:

    – ระบบ Cyrus Murder ทำงานอย่างไร
    – วิธีการติดตั้ง Backend Server และการนำเข้าระบบ
    – วิธีการติดตั้ง Frontend Server และการนำเข้าระบบ
    – วิธีการติดตั้ง MUPDATE Server และการนำเข้าระบบ