ใช้ Data Mapping ใน Moodle

จากการแนะนำการใช้งาน LDAP ใน moodle กับ Active Directory ในครั้งก่อน ช่วยให้การใช้งานเป็นไปอย่างง่ายดาย เพราะใช้ username และ password จาก Active Directory ได้โดยตรง แต่ยังไม่ได้ปรับแต่งให้ดึงข้อมูลที่เป็นชื่อ – สกุล และ e-mail มาใช้งาน ซึ่งใน moodle เรียกการดึงข้อมูลนี้ว่า Data Mappings

Data Mappings ของ moodle คือ การดึงข้อมูลจาก MS Active Directory 2003 server ในฟิลด์ที่เราต้องการ ในที่นี้จะใช้งานหลัก ๆ (สำหรับผมเอง)อยู่ 3 ฟิลด์ด้วยกันคือ

First Name คือ  ชื่อ

Surname คือ นามสกุล

และ Email address คือ e-mail ของคนนั้น ๆ

โดยที่ข้อมูลทั้งหมด จะอยู่ใน AD ซึ่งจะช่วยให้ผู้ใช้งานไม่ต้องกรอกข้อมูลใด ๆ เพิ่มเติม login เข้าไป ก็ใช้งานได้ทันที

ให้เราเข้าไปยังส่วนของ LDAP Server เลื่อนลงมาด้านล่างจะพบกับหัวข้อ DATA MAPPING ให้เราทำการกรอกข้อมูลดังนี้

First Name -> givenName
Surname -> sn
Email address -> mail

moodle-mapping
** มีข้อแม้เดียวคือ ต้องผ่านการใช้งาน LDAP มาก่อน หรือเชื่อมต่อกับ LDAP เสร็จสมบูรณ์แล้ว จึงจะสามารถใช้งานได้

เมื่อกรอกข้อมูลเสร็จเรียบร้อย ให้ทำการบันทึก แล้วล็อกอินด้วยชื่ออื่น ที่มีอยู่ใน Active Directory จะพบว่า ระบบจะดึงชื่อที่มีอยู่ใน Active Directory มาใช้งาน (ต้องเป็น user ที่ยังไม่เคยล็อกอินมาก่อนเท่านั้น เพราะ moodle จะเก็บ Profile ของคนที่ล็อกอินแล้วไว้ในระบบด้วย ดังนั้นจะไม่พบการเปลี่ยนแปลง ให้ลบ user นั้น ๆ ออกจาก moodle จึงจะเห็นการเปลี่ยนแปลง)

ผลลัพธ์ที่ได้คือ

listname

ดูได้จากเมนูของผู้ดูแลระบบ Users –> Accounts –> Browse list of users

หากมีการล็อคอินเข้ามา ก็จะพบ ชื่อ – สกุล และ E-Mail ตามที่มีอยู่ใน AD ครับ

ตัวอย่างอื่น ๆ หรือดูข้อมูลจากเว็บไซต์นี้ครับ http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm

CN – Common Name CN=Guy Thomas.  Actually, this LDAP attribute is made up from givenName joined to SN.
description What you see in Active Directory Users and Computers.  Not to be confused with displayName on the Users property sheet.
displayName displayName = Guy Thomas.  If you script this property, be sure you understand which field you are configuring.  DisplayName can be confused with CN or description.
DN – also distinguishedName DN is simply the most important LDAP attribute.
CN=Jay Jamieson, OU= Newport,DC=cp,DC=com
givenName Firstname also called Christian name
homeDrive Home Folder : connect.  Tricky to configure
name name = Guy Thomas.  Exactly the same as CN.
objectCategory Defines the Active Directory Schema category. For example, objectClass = Person
objectClass objectClass = User.  Also used for Computer, organizationalUnit, even container.  Important top level container.
physicalDeliveryOfficeName Office! on the user’s General property sheet
profilePath Roaming profile path: connect.  Trick to set up
sAMAccountName sAMAccountName = guyt.  Old NT 4.0 logon name, must be unique in the domain.  Can be confused with CN.
SN SN = Thomas. This would be referred to as last name or surname.
userAccountControl Used to disable an account.  A value of 514 disables the account, while 512 makes the account ready for logon.
userPrincipalName userPrincipalName = guyt@CP.com    Often abbreviated to UPN, and looks like an email address.  Very useful for logging on especially in a large Forest.   Note UPN must be unique in the forest.



การปิด / เปิด UAC ใน windows 2008 Server

winlogoระบบปฏิบัติการวินโดว์เซิร์ฟเวอร์ 2008 เป็นระบบปฏิบัติการที่เน้นด้านความปลอดภัย แพ็คเก็จจะถูกติดตั้งน้อยที่สุด (ค่าปกติคือไม่ติดตั้ง) แต่ระบบรักษาความปลอดภัยต่าง ๆ จะถูกเปิดใช้งานเต็มพิกัด รวมไปถึงระบบที่ควมคุมการใช้งาน/แจ้งเตือน ผู้ใช้งานที่เรียกว่า UAC (User Account Control) จะว่าไปก็เป็นระบบที่ดี ช่วยเตือนหรือป้องกันไม่ให้เผลอทำผิดพลาด แต่ก็ก่อให้เกิดความรำคาญใจมากเหมือนกัน

ซึ่งในระบบปฏิบัติการที่เป็น Desktop (vista , se7en) นั้น สามารถปิดได้ที่ Control Panel ได้โดยตรง แต่สำหรับ windows 2008 server (Domain Controller) นั้น ไม่สามารถเข้าใช้งาน User Account ได้ เนื่องจากเป็น Domain Controller (น่าจะใช้ได้กับเครื่องที่ไม่ได้เป็นโดเม็นด้วยนะครับ)

วันนี้ผมต้อง add account ของนักศึกษาเข้าระบบ windows live @edu ซึ่งจะเป็นต้องใช้ Power Shell v2 ที่ต้องสามารถเข้าแก้ไข registry ได้ด้วย แต่เมื่อรันคำสั่งแล้ว ไม่สามารถแก้ไข registry ได้ ผมจึงหาสาเหตุอยู่นานพอสมควร และก็พบว่า ปัญหาหลักอยู่ที่ UAC ครั้นจะไปปิดที่ control panel ก็ไม่สามารถเข้า user account ได้ เลยไปค้นหาข้อมูลจาก google พบว่า เราสามารถปิด UAC ได้ง่าย ๆ ดังนี้

  • คลิ๊กที่ start –> run –> msconfig

ที่แท็ป tools ให้เลื่อนลงมา จะมี Tool Name ที่ชื่อว่า Disable UAC ให้คลิ๊กที่ชื่อของ Tool Name นั้น แล้วคลิ๊กที่ Launch

uac

เมื่อคลิ๊กที่ Launch เรียบร้อยแล้ว (น้าต่างของดอส) จะข้อความแจ้งว่า The operation completed successfully.

จากนั้นให้ทำการรีสตาร์ทเครื่อง ก็จะสามารถใช้งานระบบต่าง ๆ โดยไม่มีข้อความแจ้งเตือนอีก

แต่ถ้าอยากกลับมาใช้ UAC อีกครั้ง ก็ทำรูปแบบเดิม แต่ให้คลิ๊กที่ Tool Name ที่ชื่อว่า Enable UAC แล้วกด Launch จากนั้น รีสตาร์ทเครื่องก็จะสามารถใช้งานได้แล้วครับ




เปิดใช้งานฟังก์ชั่น LDAP ให้กับ Moodle

moodle-logoMoodle เป็นซอฟต์แวร์ Open Source ที่ใช้สำหรับทำบทเรียนออนไลน์ หรือที่เรียกว่า LMS (Learning Management System) ซึ่งได้รับความนิยมอย่างแพร่หลาย เพราะครอบคลุมฟังก์ชั่นการใช้งานด้านการเีรียนออนไลน์ และง่ายต่อการใช้งาน มทร.ล้านนา ของเราเอง ก็ทำการติดตั้ง moodle อยู่หลายหน่วยงาน

แต่การ จะเข้าใช้งานแต่ละหน่วยงานนั้น ต้องใช้ username และ password ตามที่หน่วยงานนั้นกำหนด จึงเกิดปัญหาการจดจำ username และรหัสผ่าน (สมมุติมี 10 แผนก ก็ใช้คนละตัว ต้องจำ 10 username) แต่ปัญหานี้จะหมดไป ถ้าเราเรียกใช้งานฟังก์ชั่นของ LDAP ที่ติดมากับตัวของ Moodle อยู่แล้ว

ใน บทความนี้ผมจะไม่ขอเอ่ยถึงการติดตั้ง extentions ldap นะครับ (หากใครติดจริง ๆ ถามได้ครับ จะตอบเป็นกรณีพิเศษ) สิ่งที่เราต้องมีในการใช้งานคือ

  • DC (Active Directory) ที่สร้างไว้เรียบร้อยแล้ว
  • Moodle (ติดตั้งบนวินโดว์หรือลีนุกซ์ก็ได้ครับ)
  • เวลาว่างซักนิด


มาเริ่มกันเลยครับ

  • ข้าสู่ระบบด้วย username admin ของตัว moodle

moodle04

คลิ๊กที่รูปเพื่อดูขนาดใหญ่

  • ไปที่เมนู Users –> Authentication
  • เปิดการใช้งาน LDAP Server โดยคลิ๊กที่ไอคอนลูกตา
  • คลิ๊กที่ Settings

moodle05

เราจะตั้งค่าการใช้งาน LDAP Server อย่างคร่าว ๆ (ให้ใช้งานได้) 3 หัวข้อหลัก ๆ ดังนี้

  • LDAP Server Settings
    • Host URL คือ ที่อยู่ของ DC ครับ จะใส่เป็นชื่อหรือไอพีก็ได้ แต่เขาแนะนำให้ใส่เป็นไอพี (มีหรือไม่มี ldap:// ก็ได้) เพราะถ้าใส่เป็นชื่อแล้ว บางครั้งอาจจะ lookup ไปผิดเครื่อง ตัวอย่างเช่น
      • Host URL : ldap://192.168.1.10
    • Version คือรุ่นของ ldap หรือ ad ครับ รุ่นใหม่ ๆ นี้เป็น 3 กันหมดแล้วครับ ดังนั้นเราก็เลือกให้เป็น 3
      • Version 3
    • LDAP Encoding คือ การเข้ารหัสหรือรูปแบบของตัวอักษรที่จะคุยกัน ก็ให้เป็น utf-8 ครับ ถ้าเป็นรุ่นเก่า version 2 ก็จะเป็น cp 1252 (เขาว่างั้นนะ อันนี้ผมก็ไม่ได้ทดสอบ)
      • LDAP Encoding : utf-8
  • Bind Settings
    • Hide Password คือการระบุว่าจะเก็บรหัสผ่านไว้ที่ตัว moodle หรือไม่ ถ้าไม่เก็บ moodle ก็จะวิ่งไปถามที่ AD ทุกครั้ง (ให้วิ่งถามดีกว่าครับ ป้องกันการเก็บรหัสผ่านไว้หลายที่)
      • Hide Password : Yes
    • Distinguished name คือ ชื่อของผู้ใช้ที่มีสิทธิเรียกใช้งาน AD โดย username นั้น อย่างน้อยต้องอยู่ในกลุ่มของ Domain Admin ขึ้นไป ไม่งั้นจะไม่สามารถติดต่อได้ครับ แต่ที่สำคัญ ต้องทำการตั้งค่า cn,dc ให้ถูกต้องด้วย เอาละ คราวนี้ทุกท่านจะเริ่มส่งสัย ว่าอะไรคือ cn , dn ,ou,dc อธิบายไปยาวแน่ ๆ เอาเป็นว่า ผมมีวิธีตรวจสอบว่า จะใส่ให้ถูกต้องต้องทำแบบไหน
      • ที่เครื่อง AD ให้เรียกใช้งาน Active Directory Service Interfaces หรือ adsi โดยคลิ๊กที่
      • start –> run –> adsiedit.msc

moodle02

moodle03

      • ที่หน้าต่าง ADSI Edit ให้แตกย่อยออกมาเรื่อย ๆ แล้วพยายามหา user administrator ที่เราต้องการใช้งาน เมื่อเลือกได้แล้ว จะเห็นช่องทางขวามือ จะมีการกำหนดค่าของ cn,dc ต่าง ๆ ให้เราจำค่านี้แหละครับ แล้วเอาไปใส่ที่ช่อง Distinguished name (โปรดระวังช่องว่าง ที่ cn และ ou ต้องตรงกับที่มีอยู่ใน AD จริง ๆ )
      • Distinguished name : cn=administrator,cn=users,dc=university,dc=local
    • Password คือ รหัสผ่านของ user ที่เราได้ระบุไว้ใน Distinguished name ซึ่งในที่นี้คือ administrator นั่นเอง
      • Password : **********

moodle06

  • User lookup settings
    • User type คือ ประเภทของ Directory Service ในที่นี้คือ AD
      • User type :  MsActiveDirectory
    • Contexts คือ ที่อยู่ของ Organizational Unit (รูปที่เราเห็นคล้าย ๆ โฟลเดอร์นั่นแหละครับ) ซึ่งเราต้องระบุให้ถูกต้อง เพราะนั่นจะเป็นตำแหน่งที่จะให้ moodle เข้าไปค้นหารายชื่อผู้ใช้งาน หากไม่รู้ว่าอยู่ที่ไหน ก็ให้เปิด Active Directory user and computer กรณีที่ต้องการระบุเฉพาะเจาะจง ก็ให้ระบุ OU ตามที่ต้องการได้เลยครับ แต่ถ้าจะให้ค้นหาใน OU ไหนก็ได้ ระบุ OU นอกสุดก็พอครับ
      • Contexts : ou=user accounts,dc=university,dc=local

moodle01

    • Search Subcontexts คือ การให้ค้นหา OU ย่อย จากที่ได้ระบุไว้ใน Contexts (ดูรูปประกอบครับ จะเห็นมี OU ย่อย ใน User Accounts อีกที)
      • Search Subcontexts : Yes
    • Derelicence aliases คือ การตั้งชื่อเสมือนของบุคคลทั่วไปที่ไม่ได้อยู่ในระบบ (อันนี้ผมก็ยังไม่เคยใช้งานเหมือนกันครับ)
      • Derelicence aliases : No
    • User Attribute คือ คุณลักษณะของ User ถ้าเป็น AD แล้ว ให้ใช้ sAMAccountName ครับ (บางแห่งบอกว่าใช้ cn ก็ได้) แต่ระวังการใช้งานนะครับ เพราะ sAMAccountName นี้ ใช้งานได้สูงสุด 20 ตัวอักษรครับ
      • User Attribute : sAMAccountName
    • Member Attribute คือ คุณลักษณะของสมาชิก
      • Member Attribute : member
    • Member Attribute user dn คือ การยอมให้/ยกเลิก user ที่อยู่ในกลุ่มเดียวกันกับที่ระบุไว้ใน Distinguished name ใช้งานได้หรือไม่
      • Member Attribute user dn : 1 **ไม่จำเป็นต้องกรอกและไม่มีผลกับ user ทั่วไป
    • Object Class คือ การระบุ สมาชิก ว่าให้ค้นหาจากอะไร ใน ad เราเรียก username ว่า user
      • Object Class : user

เมื่อปรับแต่งค่าเรียบร้อยแล้วให้ทำการบันทึกข้อมูล โดยคลิ๊กที่ Save change ตรงด้านล่างสุด

แล้วให้ทำการ logout เพื่อทำการทดสอบครับ

จากนั้นให้คลิ๊กที่ login อีกครั้ง แล้วกรอก username และ password ที่ใช้งานได้จริงใน ad

กรณีที่ไม่ผ่าน จะมีข้อมความแจ้งเตือนดังนี้ (อาจจะไม่เหมือนกัน) ให้เข้าไปดูการปรับแต่งค่าอีกครั้งหนึ่ง

moodle07

กรณีที่ผ่าน จะปรากฎหน้าต่างให้กรอกรายละเอียดส่วนตัว เป็นอันว่าเสร็จสิ้นครับ

moodle08

moodle09

คราวนี้ก็สามารถใช้งานร่วมกันได้แล้วครับ ไม่ว่าจะมีกี่เครื่อง จะมีกี่เว็บ ก็จะใช้ username และ password ชุดเดียวกันทั้งหมด




การตั้งค่าให้ apache และ IIS ทำงาน port 80 ร่วมกัน

การใช้งาน web service ไม่ว่าจะเป็น apache หรือ iis แต่ละตัวมีความสามารถที่จะทำเป็น virtualhost ในรูปแบบต่าง ๆ เช่น

  • virtualhost by port เช่น 80,81 ,82
  • virtualhost by name เช่น www,www2,www3
  • virtualhost by ip เช่น 192.168.1.1 , 192.168.1.2

ถ้าใครพยายามที่จะรัน apache พร้อมรัน IIS ด้วยนั้นจะเกิดปัญหา ตัวที่รันทีหลัง จะไม่สามารถทำงานได้ ดัง Event ในรูปนี้

iisapache01iisapache02

แต่ก็มีปัญหาบางประการเช่นความต้องการใช้ php แต่เครื่องแม่ข่ายเป็น iis ถึงแม้จะติดตั้ง extentions ของ php เข้าไปก็ตาม ยังสู้ใช้งาน php ผ่าน apache ไม่ได้ จึงมีคำถามว่า จะสามารถใช้ apache ร่วมกับ IIS โดยใช้พอร์ต 80 ร่วมกันได้หรือไม่  คำตอบคือ ได้ แต่ต้องมีขั้นตอนปรับแต่งเล็กน้อยครับ

iisapacheความต้องการเบื้องต้นของระบบ

  • ระบบปฏิบัติการวินโดว์ 2003
  • 1 LAN Card (2 IP Address)
  • apache (appserv)
  • ไฟล์ SUPPORT.CAB ในแผ่นวินโดว์ 2003 (ดาวน์โหลดไฟล์ได้จากที่นี่ [download id=”3″])

เมื่อทุกอย่างพร้อมแล้วก็มาเริ่มกันเลยครับ

  • ถ้ามีการ์ดแลน 2 ใบก็ง่ายเลยครับ แต่ถ้าใครมีการ์ดใบเดียว ก็ให้ทำการเพิ่มไอพีให้กับแลนการ์ด ให้สามารถใช้งานได้พร้อมกัน 2 ไอพี (ดูตัวอย่างจากรูปครับ คลิ๊กเพื่อดูขนาดใหญ่)

iisapache00

  • ให้ทำการตั้งค่าของ IIS โดย ซึ่งถ้าเป็นเครื่องที่ยังไม่ได้ทำงานอะไรก็จะมี Default อยู่แล้ว และมันก็รันบนพอร์ต 80 ครับ โดยเราต้องทำการเลือกว่า จะให้เว็บที่รันโดย IIS นี้ ใช้งานไอพีอะไร สามารถเลือกได้ตามรูปครับ

iisapache03iisapache05iisapache04

  • ต่อไปให้ทำการปรับแต่งค่าของ apache โดยค้นหาคำว่า Listen โดยปกติแล้วก็จะรันบนพอร์ต 80 เช่นเดียวกัน

iisapache06

  • คอนเซ็ปของเราคือ (ไอพีไม่เหมือนกับรูปนะครับ เพราะรูปเอามาจากที่ติดตั้งจริง)
    • IIS ให้รันที่ไอพี 192.168.1.1
    • apache ให้รันที่ไอพี 192.168.1.2
  • จากนั้นให้ดาวน์โหลดไฟล์ [download id=”3″] แล้วแตกไฟล์ไว้ที่ไดร์ฟ C:/  (จะเอาไว้ที่ไหนก็ได้ครับ แต่ต้องตามไปให้ถูกตำแหน่งนะครับ)

iisapache091

  • ต่อไปให้ทำตามขั้นตอนดังนี้
    • เปิดคอมมานด์พร็อม ขึ้นมาครับ โดยไปที่    run–> cmd
    • cd c:support
    • httpcfg set iplisten -i 192.168.1.1     ( โดยไอพีนี้คือไอพีที่รันโดย IIS)
    • net stop http /y
    • net start w3svc

iisapache07

  • แล้วทดสอบการใช้งานดูครับ จะพบว่าสามารถใช้งานได้ทั้ง IIS และ Apache แล้วครับผม
    • ทดสอบโดยเปิดเบราเซอร์แล้วเรียก
      • http://192.168.1.1      (IIS)   ** ขออภัย ไม่ได้เอาภาพมาให้ดูครับ
      • http://192.168.1.2     (Apache)

iisapache08




Warning: session_start() [function.session-start]:

Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at C:AppServwwwaaaindex.php:2) in C:AppServwwwaaaindex.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:AppServwwwaaaindex.php:2)
in C:AppServwwwaaaindex.php on line 2

upload ขึ้น server แล้วมีปัญหาดังนี้

เพราะบนเครื่อง localhost path เก็บมันจะเป็น

session.save_path = “C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp”

วิธีแก้ไขให้ไปแก้ไข file php.ini ของตัว server ด้วย

session.save_path = “C:/Temp”      *****หรือ temp directory ที่มีอยู่จริง เช่น C:WINDOWSTemp

หลังจากนั้นให้ restart apache ก็จะสามารถใช้งานได้ตามปกติ




เทียบเวลา ให้ตรงตามมาตรฐาน

เดี๋ยวนี้ เมื่อเราต้องการทราบเวลา ต้องล้วงเอาโทรศัพท์ขึ้นมาดู หรือถ้าเป็นช่วงทำงาน ก็ดูที่คอมพิวเตอร์ ซึ่งส่วนมากแล้ว ก็คงจะดูจากที่คอมพิวเตอร์ซะส่วนใหญ่ เพราะไม่ค่อยได้ลุกไปไหน นั่งแต่หน้าคอมฯ นี่แหละ

ดังนั้น ทุกอย่างจึงถูกผูกพันกับเวลาในคอมพิวเตอร์ทั้งหมด ไม่ว่าจะเป็นตารางประชุมใน outlook หรือแม้แต่การแจ้งเตือนต่าง ๆ จะว่าไปแล้ว นาฬิการ้อยสองร้อยบาทแขวนผนัง มันก็มีโอกาสคลาดเคลื่อนได้ ไม่ว่าจะเป็นเพราะเจ้าตัวนาฬิกเองหรือเพราะพลังงานที่จ่ายให้กับมัน แต่คอมพิวเตอร์ละ สำหรับเครื่องลูกข่ายคงไม่มีปัญหามากนัก แต่ถ้าเป็นเครื่องแม่ข่ายละก็ ต้องเทียบเวลาให้ตรงตามมาตรฐาน มีข้อผิดพลาดที่เล็กน้อยมาก ส่วนหนึ่งก็มาจาก พรบ.คอมฯ ที่บังคับให้สามารถตรวจสอบย้อนหลังได้ ดังนั้น เวลาของเครื่องแม่ข่ายต่าง ๆ ต้องตรงกัน และเช่นเดียวกัน เครื่องลูกข่ายก็สมควรที่จะมีเวลาที่ตรงกันด้วย การตรวจสอบถึงจะได้รวดเร็วและมีประสิทธิภาพมากที่สุด

เรามาเริ่มต้นกันเลยดีกว่า

  • ระบบปฏิบัติการ Windows XP , 2003 , vista , windows 7 (เฉพาะเครื่องที่ไม่ได้ Join Domain) ให้คลิ๊กที่ Start –> Settings –> Control Panel

time01

  • ดับเบิลคลิ๊กที่ Date and Time
  • ที่หน้าต่าง Date and Time Properties ให้คลิ๊กเลือกแท็ป Internet Time

time2

สำนักวิทยบริการและเทคโนโลยีสารสนเทศ ได้ทำการติดตั้งเครื่องคอมพิวเตอร์แม่ข่าย สำหรับทำหน้าที่ time server โดยเฉพาะ เพื่อให้เกิดความแม่นยำในการเทียบเวลาให้ตรงตามมาตรฐานสากล โดยตั้งชื่อว่า

time.rmutl.ac.th

ดังนั้นท่านจึงสามารถกรอกชื่อ time.rmutl.ac.th เข้าไปยังช่อง internet time ได้ทันที เมื่อเลือก Server เป็นที่เรียบร้อยแล้ว ให้กดที่ Update Now เพื่อทำการทดสอบ ถ้าใช้งานได้ ต้องขึ้นคำว่า The time has been sussessfully …..
สำหรับ Server อื่น ๆ ที่ท่านสามารถเลือกใช้งาน (ในประเทศไทย) ได้ดังนี้
o กรมอุทกศาสตร์ กองทัพเรือ
time.navy.mi.th
time2.navy.mi.th
time3.navy.mi.th
o ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ
clock.nectec.or.th
clock2.nectec.or.th
o ศูนย์ประสานงานการรักษาความปลอดภัยคอมพิวเตอร์ ประเทศไทย
clock.thaicert.nectec.or.th

คราวนี้ ใครจะมาว่าท่าน เป็นคนไม่ตรงเวลา ไม่ได้แล้วครับ