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

กิจกรรมของ 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 ที่สร้างขึ้น ติดตั้งโปรแกรมเก็บข้อมูลการใช้เครื่องคอมพิวเตอร์

Read More »

การเปลี่ยนชื่อ 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

Read More »

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 ต่อไป  

Read More »

วิธีการแก้ปัญหา 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 ได้เหมือนเดิมแล้วครับ

Read More »