Author: wiboon.w

  • รวมคลิปเทคนิค OBS+Live+Video+Zoom

    ค้นหาวิธีการใช้ OBS ในการทำ Video เก็บไว้ ก็พบว่ามี link ที่น่าสนใจมาบอกเล่ากันครับ
    ลองเข้าไปดูกันเองเลยนะ ช่วงนี้ (เมษายน พ.ศ. 2563) ความรู้แบบนี้น่าสนใจนะ

    OBS Green Screen | ทำ Live สดเปลี่ยนฉากได้ดั่งใจ | Probook
    https://www.youtube.com/watch?v=3GZg_DzIOS4
    Posted Dec 25, 2018

    ทำคลิปสอนจาก powerpoint แบบเห็นหน้าผู้สอน
    https://www.youtube.com/watch?v=fYn2J2EOJT8
    Posted Apr 1, 2020

    ใช้ Zoom ร่วมกับ OBS Studio เพื่อเพิ่มลูกเล่นในการใช้งาน
    https://www.youtube.com/watch?v=Qc_pStYU8Ag
    Posted Mar 30, 2020

    วิธีใช้โปรแกรม OBS “สอนออนไลน์” ได้ดูโปร! ทั้ง Facebook LIVE & อัด Video | Teach from home
    https://www.youtube.com/watch?v=Sh0qTLB48Cs
    Posted Apr 3, 2020

    ส่วนอันล่างนี้ สำหรับสาวก Apple
    ใช้ Macbook, iPad และ Mac Pen เขียนด้วยลายมือในขณะนำเสนอ
    โปรแกรมสำหรับใช้ “สอนออนไลน์” ที่ฟรี และดีเวอร์! | OBS, Skype, IDroo
    https://www.youtube.com/watch?v=puMoJuEJYus
    Posted Nov 6, 2019

    จึงมาบันทึกไว้ ไม่ได้โฆษณาใด ๆ ครับ

  • ทำ bootable USB drives ด้วยโปรแกรม Rufus for Windows

    เป็นวิธีการทำให้เราสามารถ boot Linux/Windows ด้วย USB Drive แทนการ Boot จากแผ่น DVD ผมใช้งานมาตั้งแต่เวอร์ชั่น 2.6 ตอนนี้ 3.8 แล้ว ก็มาอัปเดตอีกสักครั้ง

    ขั้นตอน

    1.ดาวน์โหลด ISO file ที่จะนำมาทำ Bootable USB drive

    2.ดาวน์โหลดโปรแกรม Rufus จากที่นี่ https://rufus.ie/

    Rufus : Create bootable USB drives the easy way

    3.นำไฟล์มาวางไว้ที่ Desktop ใช้ได้โดยไม่ต้องทำขั้นตอนติดตั้งโปรแกรม

    4.เสียบ USB Drive

    5.เปิดโปรแกรม Rufus

    จากรูปภาพ

    • หมายเลข 1 ช่อง Device บอกว่าเสียบ USB Drive 8 GB แล้ว
    • หมายเลข 2 ช่อง SELECT คลิกตรงคำว่า SELECT
    • หมายเลข 2.1 และ 2.2 คลิกเลือก ISO file ที่ดาวน์โหลดมา
    • หมายเลข 3 ช่อง Partition scheme และ Target system สามารถเลือกได้ว่าจะติดตั้งเป็น MBR หรือ UEFI
    • หมายเลข 4 คลิก Start เพื่อเริ่ม

    6.คลิก OK ยืนยันการใช้ค่าที่แนะนำตามรูปหมายเลข 5 และ 6

    7.รอจนเสร็จ ก็ดึง USB drive ออกได้เลย ทดสอบนำไป boot ใช้งานได้

    ผมคิดว่าโปรแกรมนี้น่าใช้ และ ใช้ง่ายดี

  • ครบรอบ 7 ปี Web Blog sysadmin.psu.ac.th จัดกิจกรรม CoP PSU IT

    กิจกรรมที่ 1
    ในวาระเข้าสู่เดือนพฤศจิกายน ครบรอบ 7 ปี Web Blog sysadmin.psu.ac.th ผมจัดกิจกรรมเล่าเรื่อง ผมเพิ่ม category ชื่อ “Share and Tell” ขึ้นมา โดยมีวัตถุประสงค์ให้พวกเรามาเล่าเรื่องเกี่ยวกับงานที่ทำ ทั้งในหน้าที่ ขอช่วย และ งานอดิเรก อย่างใดก็ได้ เป็นสิ่งที่ “คิดว่าจะทำ” “กำลังทำอยู่” หรือ “ทำเสร็จแล้วและใช้งานอยู่” ก็ได้ และมีความคิดอยากมานั่งคุยแลกเปลี่ยนความคิดกัน

    เขียน Blog จะได้รับค่าตอบแทนมูลค่า 300 บาท/คน/เรื่อง สำหรับผู้ที่ส่งเรื่องเข้ามา 20 คนแรกเท่านั้น ขยายเวลารับเรื่องไปจนสิ้นสุดวันที่ 31 ธันวาคม 2562

    สำหรับงานที่เขียนในหัวข้อ “Share and Tell” เดือนพฤศจิกายนและธันวาคม จะได้นำไปจัดกิจกรรม “CoP PSU IT Share and Tell ครั้งที่ 1” ใน จัดงานในวันที่ 22 มกราคม 2563

    ข้อกำหนดสิ่งที่เขียน (หรือจะเรียกว่า แนวทางเขียนให้เป็น pattern เดียวกัน 555)

    ตั้งชื่อ Blog ด้วยชื่องาน และ เขียนไว้ในเว็บไซต์นี้
    1.ชื่องาน (โครงงาน)
    เช่น โปรแกรม micro:bit ทำรถบังคับ
    เช่น พัฒนาโปรแกรม … สำหรับ ….
    2.เป้าหมายของงานที่ทำ
    เช่น จะได้เป็นอะไรออกมา ใช้ทำอะไร
    3.สภาพแวดล้อมที่เกี่ยวกับงาน (โครงงาน)
    เช่น ต้องมีอุปกรณ์ใดบ้าง ใช้ซอฟต์แวร์ใดบ้าง ทำงานบน linux หรือ Windows ทำงานในเครื่อง server เดียว หรือ บน Cloud
    4.บรรยายสรุปสั้น ๆ ว่า ต้องใช้อะไรบ้างและทำอย่างไร (ไม่ต้องลงขั้นตอนละเอียด)
    5.อื่น ๆ อยากบอกอะไรเพิ่มเติม เขียนเพิ่มได้

    กิจกรรมที่ 2 ในทุกเดือนจะมี Lucky Draw จับรางวัลมูลค่า 500 บาท 1 รางวัล สำหรับงานเขียนในหัวข้อ category ต่าง ๆ ตามปรกติ

    สำหรับวัตถุประสงค์ของการจัดกิจกรรมในปีนี้ เพื่อให้พวกเราฝึกฝนการแลกเปลี่ยนความคิด ฝึกฝนการเขียน และ สนุกไปกับการจัดกิจกรรม CoP PSU IT ตลอดทั้งปีและต่อ ๆ ไปครับ

    ขอบคุณครับ
    วิบูลย์

  • TOTP Second-factor Auth and OAuth2 in ownCloud 10.2.1

    คิดว่าเรื่อง security หรือ ความปลอดภัย ในการใช้ username และ password ก็เป็นความรู้ที่น่าจะได้มาเล่าสู่กันฟัง ในครั้งนี้ผมได้ลองตั้งค่าการใช้ TOTP Second-factor Auth ร่วมกับ password ของ ownCloud ในหน้า login ที่ web page

    การใช้ TOTP Second-factor Auth ร่วมกับ password ก็คือ การที่แอดมินที่ดูแล ownCloud Server ได้เพิ่ม App ชื่อ 2-Factor Authentication ไว้เพื่อให้ user ได้เลือกเองว่าจะใช้งานหรือไม่ โดยแสดงเป็น option อยู่ในหน้า settings ของ user

    ข้างล่างนี้เป็น captured รูปภาพที่แอดมินเพิ่ม App TOTP Second-factor Auth โดยติดตั้งจาก Market

    ส่วนข้างล่างนี้เป็น captured รูปภาพเมื่อ user เลือกใช้ TOTP และ เข้าใช้งานผ่านเบราว์เซอร์ โดยใส่ TOTP ที่ได้จาก App บนมือถือ เช่น Google Authentication หรือ Microsoft Authentication เป็นต้น

    นอกจากนี้เราสามารถตั้งค่า App passwords สำหรับ ownCloud Desktop Client ดังรูป

    ส่วนข้างล่างนี้เป็น captured รูปภาพ ownCloud Desktop Client หากมีการตั้ง App passwords

    แต่ถ้าแอดมินเลือกติดตั้ง OAuth2 ก็จะทำให้การใช้งานทั้ง desktop client และ app บน smart phone นั้นมีความปลอดภัยมากขึ้น สะดวกมากขึ้น เพราะว่าจะเป็นการส่ง token ไปเก็บไว้แทนการเก็บ username และ password ไว้ใน app

    ข้างล่างนี้เป็น captured รูปภาพที่แอดมินเพิ่ม App OAuth2

    ในครั้งแรกที่เข้าใช้ Desktop Client หรือ App จะมีหน้าเว็บเพจเด้งขึ้นมาให้ใส่ username กับ password เพียงครั้งเดียว และขอให้ผู้ใช้คลิก Authorize จากนั้นก็ใช้งานได้ตลอดแล้ว

    รูปแสดงว่า เรามีการเข้าใช้อุปกรณ์อะไรบ้าง

    ดังนั้น หากใช้ OAuth2 ก็ไม่จำเป็นต้องใช้ TOTP Second-factor Auth แล้วครับ

    สภาพแวดล้อมการทำงาน

    • ownCloud Server (ownCloud community) version 10.2.1 (stable) ติดตั้งบน Ubuntu 16.04 server และ
    • ownCloud Desktop client version 2.5.4 (build 11415) รันบน Windows 10 version 1903
  • Windows Subsystem for Linux in Windows 10 – (Installation Scripts)

    บทความนี้แนะนำวิธีการติดตั้ง Windows Subsystem for Linux ด้วย Installation Scripts เพื่อติดตั้ง Ubuntu 18.04 LTS ลงใน Windows 10 version 1903

    การรัน Installation Scripts ที่เป็น PowerShell จำเป็นต้องเปิดอนุญาตรัน script (ตั้งค่า execution policy มีขั้นตอนตรงจุดนี้ ดังนี้
    1.คลิก Start หรือ ไอคอน Search
    2.พิมพ์คำว่า PowerShell คลิกขวาเพื่อเลือก Run as administrator
    3.พิมพ์คำสั่งนี้

    Set-ExecutionPolicy RemoteSigned

    4.พิมพ์ A แล้วกด Enter

    ถัดไป เราก็จะดาวน์โหลดไฟล์ 2 ไฟล์เลือกว่าจะวางไฟล์ไว้ที่ Downloads ด้วยคำสั่งต่อไปนี้

    cd $ENV:HOMEDRIVE\$ENV:HOMEPATH\Downloads

    ดาวน์โหลดไฟล์ที่ 1

    Invoke-WebRequest ftp.psu.ac.th/pub/psu-installer/windows/step1_enable_wsl.ps1 -OutFile step1_enable_wsl.ps1

    ดาวน์โหลดไฟล์ที่ 2

    Invoke-WebRequest ftp.psu.ac.th/pub/psu-installer/windows/step2_install_wsl.ps1 -OutFile step2_install_wsl.ps1

    เมื่อได้ไฟล์แล้ว ก็มาทำคำสั่งนี้กัน คำสั่งเพื่อเปิดใช้ (enable) Windows Subsystem for Linux

    & ".\step1_enable_wsl.ps1"

    หลังจากทำคำสั่งนี้ Windows จะสั่งให้เรา restart 1 ครั้ง
    Do you want to restart the computer to complete this operation now?
    พิมพ์ Y และกด Enter

    เมื่อ Windows restart เสร็จแล้ว ตอนนี้ก็มาถึงขั้นตอนติดตั้ง ubuntu 18.04 LTS ลงใน WSL

    เปิด PowerShell ตั้งค่า execution policy

    Set-ExecutionPolicy RemoteSigned

    พิมพ์ A แล้วกด Enter

    พิมพ์คำสั่งเหล่านี้

    cd $ENV:HOMEDRIVE\$ENV:HOMEPATH\Downloads
    & ".\step2_install_wsl.ps1"

    หลังจากทำคำสั่งนี้ หน้าต่าง WSL ก็จะเปิดขึ้นมา รอสักครู่ใหญ่ ๆ ก็จะมีคำถามให้ตั้ง username อันแรก พร้อมตั้ง password แล้วจะได้ Ubuntu 18.04 พร้อมใช้งาน

    สุดท้าย ให้เราออกจาก WSL console ด้วยคำสั่ง exit และ ปิดหน้าต่าง PowerShell

    เมื่อมาถึงตรงนี้ เราก็ได้ Windows Subsystem for Linux ซึ่งเรียกใช้งานด้วยคำสั่ง wsl

    วิธีเรียกใช้งาน WSL
    1.คลิก Start หรือ ไอคอน Search
    2.พิมพ์คำว่า wsl แล้วเลือก Open หรือ Run as administrator (ต้องการสิทธิ)

    จบเรื่องแรก การติดตั้ง WSL ด้วย Installation Scripts

    เรื่องที่สองในบทความนี้ หากเราต้องการให้ทุกครั้งที่ Windows เปิดขึ้นมาแล้วสั่งให้ service sshd ทำงานทันที เพื่อให้เราใช้คำสั่ง ssh เข้ามายัง Ubuntu ใน Windows ได้

    ผมก็ได้เขียน shell script installsshd.sh นี้ไว้ ซึ่งรันที่ WSL นะครับ

    วิธีใช้ shell script นี้ ทำดังนี้

    1.เปิด WSL ด้วยสิทธิ Run as administrator

    2.เมื่ออยู่ในหน้าต่าง WSL ให้ขอสิทธิเป็น root ด้วยคำสั่งนี้

    sudo su -

    ใส่ password ให้ถูกต้อง

    ดาวน์โหลดไฟล์ installsshd.sh ด้วยคำสั่งนี้

    wget http://ftp.psu.ac.th/pub/psu-installer/windows/installsshd.sh

    สั่งรัน shell script ดังนี้

    bash installsshd.sh

    เมื่อ shell script ทำงาน จะมีการถอน openssh และติดตั้งใหม่เพื่อให้ใช้ server ssh key ที่ถูกต้อง และสร้าง task name ชื่อ sshd ไว้ใน Task Schedule ของ Windows 10

    ทดสอบ ssh จากเครื่องในเน็ตเวิร์คเข้าไปยัง Ubuntu ใน Windows 10

    References

  • ติดตั้ง FOG Project แบบใช้ Proxy DHCP

    บทความนี้เป็นตอนต่อจาก “ติดตั้ง FOG Project บน Ubuntu 18.04 Server” หลังจาก แตกไฟล์ มาเสร็จแล้ว มาดูขั้นตอนติดตั้ง

    sudo  ./installfog.sh

    เลือก 2

    กด Y และ Enter

    กด N และ Enter

    ตัวอย่าง จะติดตั้ง fog server ให้ใช้ IP 10.0.100.254 และ ตอบ N ทุกคำถาม Would you like … ตรงนี้ ซึ่งจะเกี่ยวข้องกับ DHCP server ว่า จะติดตั้งลงใน fog server มั้ย

    ตรวจสอบ พร้อมแล้ว ก็กด Y และ Enter

    สำหรับ Ubuntu 18.04 นั้น ถ้าเราติดตั้ง MySQL ไม่จำเป็นต้องตั้ง password เราก็ใช้คำสั่ง mysql เพื่อเข้าไปทำงานได้ ก็ต่อเมื่อ เราเป็น user ที่เป็น sudo จึงไม่ต้องตั้ง password แต่จะตั้งก็ได้ ไม่ผิด

    ใกล้เสร็จแล้ว ให้ไปที่หน้าเว็บ http://fog_server_ip/fog/management เพื่อตั้งค่า database

    แล้วกลับมาทำการตั้งค่าต่อ กด Enter

    สังเกต มีคำว่า Skipped ที่บรรทัด DHCP Server

    เสร็จกระบวนการติดตั้ง fog server

    ถัดไปจะติดตั้ง dnsmasq เพื่อเป็น Proxy DHCP ไปติดต่อกับ DHCP server ของตึก

    ทำตาม link นี้ https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq

    พิมพ์คำสั่งเพื่อติดตั้ง ดังนี้

    sudo  apt  install  dnsmasq  -y

    เสร็จแล้ว ไปหาเครื่องที่สามารถใช้งานแบบ กราฟิก GUI เพื่อ copy ข้อความหลาย ๆ บรรทัดได้ เช่น เปิด bash ใน Windows แล้วใช้คำสั่ง ssh เข้าไปยัง fog server IP ดังนี้

    ssh  mama@10.0.100.254

    จะทำให้สะดวกกว่า คีย์เอง ทีละบรรทัด

    สร้างไฟล์ชื่อ fog.conf ไว้ภายในไดเรกทอรี /etc/dnsmasq.d ใส่ข้อความ ดังนี้

    ข้อความที่จะให้ copy ไป paste คือ

    # Don't function as a DNS server:
    port=0
    
    # Log lots of extra information about DHCP transactions.
    log-dhcp
    
    # Set the root directory for files available via FTP.
    tftp-root=/tftpboot
    
    # The boot filename, Server name, Server Ip Address
    dhcp-boot=undionly.kpxe,,10.0.100.254
    
    # Disable re-use of the DHCP servername and filename fields as extra
    # option space. That's to avoid confusing some old or broken DHCP clients.
    dhcp-no-override
    
    # inspect the vendor class string and match the text to set the tag
    dhcp-vendorclass=BIOS,PXEClient:Arch:00000
    dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
    dhcp-vendorclass=UEFI,PXEClient:Arch:00007
    dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
    
    # Set the boot file name based on the matching tag from the vendor class (above)
    dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,10.0.100.254
    dhcp-boot=net:UEFI,ipxe.efi,,10.0.100.254
    dhcp-boot=net:UEFI64,ipxe.efi,,10.0.100.254
    
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt="Booting FOG Client", 1
    
    # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
    # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
    # This option is first and will be the default if there is no input from the user.
    pxe-service=X86PC, "Boot to FOG", undionly.kpxe
    pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi
    pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
    
    dhcp-range=10.0.100.254,proxy
    

    ให้แทนที่ 10.0.100.254 ด้วย fog server IP ของคุณ แล้ว save ออกมาจากการแก้ไขไฟล์ แล้ว ตรวจสอบด้วยการรัน service ดูว่า ทำงานได้ ไม่ error

    รันคำสั่งดังนี้

    sudo  systemctl  restart  dnsmasq.service

    ตรวจสอบ status

    sudo  systemctl  status  dnsmasq.service

    กด q ออก

    ถ้ามี error ให้ตรวจสอบว่า ในไดเรกทอรี /etc/dnsmasq.d มีไฟล์คอนฟิกสักไฟล์ที่มีคำว่า bind-interfaces อยู่ข้างในมั้ย ถ้าไม่มีก็สร้างไฟล์ชื่อ etc.conf และมี 1 บรรทัดใส่คำว่า bind-interfaces และ save แล้ว รีสตาร์ท dnsmasq ก็น่าจะใช้งานได้

    แล้วตั้งค่าให้ dnsmasq ทำงานเมื่อเปิดเครื่อง

    รันคำสั่ง

    sudo  systemctl  enable  dnsmasq.service

    ออกจาก ssh และ reboot fog server เพื่อดูว่า service dnsmasq เรียบร้อย

    เมื่อ boot Windows 7 จะเห็นว่า มันจะไปขอ DHCP IP จาก 10.0.100.1 ในที่นี้คือ DHCP server ของตึก (router) และมันจะรู้ด้วยว่า fog server คือ 10.0.100.254

    ตัวอย่าง ใน LAN configuration ก็จะมีข้อมูลบอกว่า DHCP Server ที่แจก IP มาให้ Windows คือ 10.0.100.1

    เมื่อดูใน /var/log/syslog ของเครื่อง fog server จะเห็น service dnsmasq ทำงาน

    ต่อไปเป็นการใช้งาน เพื่อทดสอบว่า กระบวนการติดตั้ง fog server ใช้งานแบบ proxy DHCP ทำงานได้จริง

    เลือกรายการ Quick Registration and Inventory เพื่อลงทะเบียนแบบ manual ทีละเครื่อง

    แล้วกลับมาอีกรอบ คราวนี้ก็เลือก Boot from hard disk เมื่อเข้า Windows ได้แล้วลองไปตรวจสอบ IP

    หน้าต่าง login ก็ใส่ค่า default username คือ fog และ password คือ password

    ต่อไปมาดูในหน้าเว็บ ของ fog จะเห็นว่า มีเครื่องที่เรากด ลงทะเบียน เข้ามาแล้ว

    ต่อไป เราจะไปหน้าเว็บเพจ images เพื่อสร้างชื่อ image ว่า windows7 ก่อนที่จะ cloning ได้

    กดเลือก Create New Image

    ตั้งค่าเลือก Operating System เป็นชนิด Windows 7 – (5)

    และใช้ค่า default แล้วกด Add (วันหลังค่อยลองเปลี่ยนใช้แบบอื่น ๆ)

    เราต้องผูก image เข้ากับ host ให้คลิกเข้าไปที่ชื่อ host ในตัวอย่างคือ 080027888888

    ผูก host นี้กับ Image ชื่อ windows7 ที่เราสร้างไว้

    ส่วนที่เหลือ เป็นค่า default แล้วกด Update

    กลับมาที่หน้าเว็บเพจ Host จะเห็นว่ามี Assigned Image เข้ามาแล้ว ให้คลิก Capture

    หน้านี้จะเด้งขึ้นมา เป็นค่า default ทั้งหมด แล้วกด Task

    จะได้หน้าต่างบอกว่า กำหนด Task แล้ว

    ไปที่เมนู Tasks จะเห็นรายการว่า กำลังรอให้เรา cloning ต้นฉบับ

    เราก็ไปเปิดเครื่อง Windows ต้นฉบับที่จะเก็บ

    มันก็จะขึ้นมาเรื่อย ๆ แบบนี้ จนได้หน้าต่างว่า กำลังใช้ Partclone ในการ cloning

    ก็รอจนเสร็จ

    ขอให้สนุก

  • ติดตั้ง FOG Project แบบมี DHCP Server ด้วย

    บทความนี้เป็นตอนต่อจาก “ติดตั้ง FOG Project บน Ubuntu 18.04 Server” หลังจาก แตกไฟล์ มาเสร็จแล้ว มาดูขั้นตอนติดตั้ง

    sudo  ./installfog.sh

    เลือก 2

    กด Y และ Enter

    กด N และ Enter

    ตัวอย่าง จะติดตั้ง fog server ให้ใช้ IP 10.0.100.208 และ ตรงนี้ จะเกี่ยวข้องกับ DHCP server ว่า จะติดตั้งลงใน fog server มั้ย ในตัวอย่าง คือ router address ที่ใช้คือ 10.0.100.1 และเป็น DNS server ด้วย

    ตรงนี้ สำหรับ FOG รุ่น 1.5.6 ขึ้นไป จะมีเพิ่มมาให้ตั้งชื่อ hostname ถ้าไม่ต้องการตั้งก็กด Enter

    ตรวจสอบ พร้อมแล้ว ก็กด Y และ Enter

    สำหรับ Ubuntu 18.04 นั้น ถ้าเราติดตั้ง MySQL ไม่จำเป็นต้องตั้ง password เราก็ใช้คำสั่ง mysql เพื่อเข้าไปทำงานได้ ก็ต่อเมื่อ เราเป็น user ที่เป็น sudo จึงไม่ต้องตั้ง password แต่จะตั้งก็ได้ ไม่ผิด

    ใกล้เสร็จแล้ว ให้ไปที่หน้าเว็บ http://fog_server_ip/fog/management เพื่อตั้งค่า database

    แล้วกลับมาทำการตั้งค่าต่อ กด Enter

    สังเกต มีคำว่า OK ที่บรรทัด DHCP Server

    เสร็จกระบวนการติดตั้ง fog server

    ทดสอบเปิดเครื่อง Windows 7 ดูว่า ได้ DHCP IP จาก fog server ในที่นี้คือ 10.0.100.208

    ต่อไปเป็นการใช้งาน เพื่อทดสอบว่า กระบวนการติดตั้ง fog server ใช้งานแบบมี DHCP Server ด้วยทำงานได้จริง

    เลือกรายการ Quick Registration and Inventory เพื่อลงทะเบียนแบบ manual ทีละเครื่อง

    แล้วกลับมาอีกรอบ คราวนี้ก็เลือก Boot from hard disk เมื่อเข้า Windows ได้แล้วลองไปตรวจสอบ IP

    หน้าต่าง login ก็ใส่ค่า default username คือ fog และ password คือ password

    ต่อไปมาดูในหน้าเว็บ ของ fog จะเห็นว่า มีเครื่องที่เรากด ลงทะเบียน เข้ามาแล้ว

    ต่อไป เราจะไปหน้าเว็บเพจ images เพื่อสร้าง image ตั้งชื่อว่า windows7 ก่อนที่จะ cloning ได้

    กดเลือก Create New Image

    ตั้งค่าเลือก Operating System เป็นชนิด Windows 7 – (5)

    และใช้ค่า default แล้วกด Add (วันหลังค่อยลองเปลี่ยนใช้แบบอื่น ๆ)

    เราต้องผูก image เข้ากับ host ให้คลิกเข้าไปที่ชื่อ host ในตัวอย่างคือ 080027888888

    ผูก host นี้กับ Image ชื่อ windows7 ที่เราสร้างไว้

    ส่วนที่เหลือ เป็นค่า default แล้วกด Update

    กลับมาที่หน้าเว็บเพจ Host เลือก List All Hosts จะเห็นว่ามี Assigned Image เข้ามาแล้ว ให้คลิก Capture

    หน้านี้จะเด้งขึ้นมา เป็นค่า default ทั้งหมด แล้วกด Task

    จะได้หน้าต่างบอกว่า กำหนด Task แล้ว

    ไปที่เมนู Tasks จะเห็นรายการว่า กำลังรอให้เรา cloning ต้นฉบับ

    เราก็ไปเปิดเครื่อง Windows ต้นฉบับที่จะเก็บ

    มันก็จะขึ้นมาเรื่อย ๆ แบบนี้ จนได้หน้าต่างว่า กำลังใช้ Partclone ในการ cloning

    ก็รอจนเสร็จ

    คำแนะนำเพิ่มเติมเกี่ยวกับการปรับแต่งไฟล์ /etc/dhcp/dhcpd.conf ที่สร้างขึ้นในขณะติดตั้ง FOG Project
    เมื่อใช้คำสั่งดู log ดังนี้

    tail  -f  /var/log/syslog

    เพื่อไม่ให้เกิด log บรรทัดที่มีข้อความว่า “not authoritative for subnet“ ก็ให้แก้ไขไฟล์นี้โดยเพิ่มบรรทัดว่า

    authoritative; 

    ไว้ภายใน subnet {
    }

    คำสั่งใช้ editor ชื่อ vi หรือ nano แล้วแต่ถนัด

    sudo  vi( or nano)  /etc/dhcp/dhcpd.conf

    แล้ว restart service

    sudo systemctl restart isc-dhcp-server.service

    ขอให้สนุก

  • ติดตั้ง FOG Project บน Ubuntu 18.04 Server

    FOG Project A free open-source network computer cloning and management solution

    บทความนี้เป็นคำแนะนำ การติดตั้ง FOG Project บน Ubuntu 18.04 Server และบอกเล่าถึงวิธีการเลือกตั้งค่าในขั้นตอนติดตั้ง แยกบทความออกเป็น 2 บทความ

    หลังจากเรามี Ubuntu 18.04 Server พร้อมแล้ว

    สร้างไดเรกทอรีชื่อ fog

    mkdir fog
    cd fog

    ดาวน์โหลดไฟล์

    wget https://github.com/FOGProject/fogproject/archive/1.5.7.tar.gz

    แตกไฟล์

    tar -xzvf 1.5.7.tar.gz

    หลังจาก แตกไฟล์ มาเสร็จแล้ว เข้าไปไดเรกทอรี

    cd fogproject-1.5.7/
    cd bin/

    ต่อไปก็มาดูขั้นตอนติดตั้ง

    sudo  ./installfog.sh

    ในหน้าจอการติดตั้งจะมีคำถามให้ตอบ Y หรือ N ไปเรื่อย ๆ ซึ่ง เราจะต้องเลือกว่าจะใช้งาน fogproject แบบใด ระหว่าง 2 แบบนี้

    แบบที่ 1
    ติดตั้ง FOG Project แบบมี DHCP Server ด้วย เหมาะสำหรับห้องคอมพิวเตอร์ที่ผู้ดูแลจัดการ network และ IP ของ Windows ได้เอง หรือ เหมาะสำหรับผู้ที่ต้องการจะตั้ง DHCP SERVER เพื่อให้บริการ IP แก่ Windows ด้วยตนเอง

    แบบที่ 2
    ติดตั้ง FOG Project แบบใช้ Proxy DHCP เหมาะสำหรับห้องคอมพิวเตอร์ที่ผู้ดูแลไม่ได้จัดการ network และ Windows จะได้รับ IP จาก DHCP Server ของ network หรือ ไม่สามารถตั้ง DHCP Server ขึ้นมาใช้งานเองได้

    วิธีลบ FOG อย่างสมบูรณ์
    หากต้องการย้อนการทำงาน กลับไปเริ่มต้นขั้นตอนติดตั้งใหม่ ให้ทำคำสั่งนี้

    delete fog database

    sudo mv /opt/fog/.fogsettings /opt/fog/fogsettings-firstInstall
    sudo userdel fogproject
    sudo rm /etc/systemd/system/multiuser.target.wants/FOGImageReplicator.service
    sudo rm /etc/systemd/system/multiuser.target.wants/FOGMulticastManager.service 
    sudo rm /etc/systemd/system/multi-user.target.wants/FOGScheduler.service 
    sudo mysql
    drop database fog;
    quit

    Remove files

    sudo rm -rf /var/www/fog
    sudo rm -rf /var/www/html/fog
    sudo rm -rf /opt/fog
    sudo rm -rf /tftpboot
    sudo rm -rf /images #Warning, this line deletes any existing images.

    ทำขั้นตอนติดตั้งใหม่

    sudo  ./installfog.sh

    หวังว่าจะเป็นประโยชน์

  • Windows Subsystem for Linux in Windows 10

    แนะนำวิธีติดตั้ง Windows Subsystem for Linux ใน Windows 10 รุ่น 1903 และวิธีเปิด sshd service อัตโนมัติ

    ขั้นตอน
    1.เปิด Featured Windows Subsystem for Linux ให้ไปที่ Control Panel เลือก Program เลือก Turn Windows features on or off ทำเครื่องหมายเพื่อเลือก Windows Subsystem for Linux รอสักครู่ จากนั้นจะมีคำสั่งให้ reboot เพื่อเริ่มใช้งานได้

    Open Control Panel
    Select Program
    Select Turn Windows features on or off
    Check Windows Subsystem for Linux
    Next, reboot Windows

    2.เปิด Microsoft Store App ใส่คำว่า ubuntu ในช่อง search เลือก Ubuntu 18.04 LTS App คลิก Get ถาม Sign in with Microsoft ให้ตอบ No, thanks จากนั้นรอ

    Open Microsoft Store
    Select Ubuntu 18.04 LTS App
    Get
    Answer with “No, thanks”
    On downloading

    3.เปิด Ubuntu 18.04 LTS ที่ปุ่ม Windows Start ให้คีย์คำว่า ubuntu แล้วเลือก Run ad administrator จะใช้เวลาสักครู่ แล้วจะให้เราตั้ง username และ password ที่ไม่จำเป็นต้องเหมือนกับ username ที่ sign in เข้า Windows

    Open Ubuntu with Run as administrator
    First time Installing

    4.เปิดอนุญาตให้มีการเชื่อมต่อผ่าน sshd ในครั้งแรกที่คีย์คำสั่งว่า
    sudo service ssh start

    Allow ssh in Windows Firewall

    5.ให้ถอนโปรแกรม openssh-server เพราะว่า Ubuntu ที่ได้มาไม่มี host key

    sudo apt remove openssh-server
    Remove sshd

    6.แล้วจะติดตั้งใหม่จะได้ ssh host key

    sudo apt install openssh-server
    Install sshd with new host key

    เปิด sshd service ด้วยคำสั่ง

    sudo service ssh start

    และทดสอบว่า บริการ sshd ทำงานได้แล้วด้วยคำสั่ง

    ssh john@127.0.0.1

    ให้เปลี่ยนคำว่า john เป็นชื่อ username ที่ใช้งาน
    จะพบว่าครั้งแรกนี้ จะเข้าไม่ได้ Permission denied (publickey)

    Permission denied

    7.เราจะตั้งค่าให้ใช้ password ได้ด้วยนอกจากใช้ public key

    sudo sed -i "s/^PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config
    Allow using password

    เปิด sshd service อีกครั้ง ด้วยคำสั่ง
    sudo service ssh restart
    และทดสอบอีกครั้งว่า บริการ sshd ทำงานได้แล้วด้วยคำสั่ง
    ssh john@127.0.0.1
    ให้เปลี่ยนคำว่า john เป็นชื่อ username ที่ใช้งาน
    ในรอบนี้ เราจะใส่ password ได้แล้ว หลังจากสำเร็จ ก็ใช้คำสั่ง exit ออกมา

    sshd is OK

    เมื่อมาถึงตรงนี้ เราได้ทำให้บริการ sshd พร้อมใช้งานใน Windows ของเราแล้ว

    ต่อไปเป็นการตั้งค่าให้บริการ sshd ทำงานทันทีที่เปิด Windows
    คีย์คำสั่งเหล่านี้

    echo "sudo /usr/sbin/service ssh start" > /mnt/c/startssh.sh

    และ

    echo "%sudo ALL = NOPASSWD: /usr/sbin/service ssh start" | sudo tee /etc/sudoers.d/custom

    (ตรงนี้อาจมีถาม password ของ username ที่กำลังใช้งานที่มีสิทธิใช้คำสั่ง sudo)
    และคำสั่งนี้

    sudo chmod 0440 /etc/sudoers.d/custom

    เสร็จแล้วคีย์คำสั่ง exit เพื่อปิดหน้าต่าง

    To prepare a task for Task Schdule

    คำเตือน: หากคีย์ข้อความในคำสั่งตกหล่น จะต้องกลับไปติดตั้ง Ubuntu ใหม่โดยการ Uninstall แล้ว Install ใหม่

    เราจะไปตั้งค่าให้ startssh.sh ทำงานด้วย Task Schedule
    เปิด Task Scheduler เลือก Run as administrator เลือก Task Scheduler Library ดูด้านขวา เลือกคำสั่ง Create Task

    Open Task Schedule
    Select Create Task

    แท็บแรกคือ General ตั้ง Name ว่า startssh เลือก Run whether user is logged on or not เลือก Run with highest privileges ที่ช่อง Configure for เลือก Windows 10

    General Tab

    แท็บสองคือ triggers เลือก New ที่ช่อง Begin the task เลือก At startup ที่ช่อง Advanced Settings ด้านล่าง เลือก Enabled

    Triggers Tab

    แท็บสามคือ Actions เลือก New ที่ช่อง Action เลือก Start a program ที่ช่อง Program/script ใส่คำว่า bash และที่ช่อง Add arguments ใส่ข้อความ /mnt/c/startssh.sh

    Action Tab

    จะมี pop up window ถาม username กับ password ที่จะรัน Task นี้ ก็ใส่ให้ถูก แล้วปิดหน้าต่าง Task Schedule

    Enter password

    เมื่อมาถึงตรงนี้ เราก็ได้ตั้งค่าให้ Start sshd เมื่อ Windows Start เสร็จแล้ว

    ทดสอบโดยการ reboot Windows เพื่อดูว่า Task Schedule ทำ task ขื่อ startssh ให้อัตโนมัติสำเร็จหรือไม่ โดยการทดสอบ ssh เข้าจาก PC อีกเครื่อง สมมติว่า เครื่อง Windows มี IP 192.168.6.221

    ssh john@192.168.6.221

    หลังจากตอบ Yes แล้วใส่ password ผ่าน ก็ให้พิมพ์คำสั่ง exit เป็นอันเสร็จสิ้นการทดสอบ
    หากได้ข้อความประมาณว่า ssh: connect to host 192.168.6.221 port 22: Resource temporarily unavailable ก็ต้องกลับไปตรวจสอบว่า ทำไมจึงเปิดบริการ sshd ไม่สำเร็จ ลองเช็ค Windows Firewall

    ต่อไปเป็นการนำ ssh key (id_rsa.pub) จากเครื่อง server ไปฝากไว้ที่ Windows Subsystem for Linux เพื่อเป็น publickey ใช้แทนการใส่ password เมื่อเราจะส่งคำสั่งเข้าไปจัดการ Windows ผ่านทาง Windows Subsystem for Linux เช่น reboot Windows เป็นต้น

    ตรวจสอบที่ server จะต้องมีไฟล์ id_rsa.pub ใน ~/.ssh/ ถ้ายังไม่ได้สร้าง key ก็ให้ใช้คำสั่งนี้

    ssh-keygen -t rsa
    directory ~/.ssh

    ส่ง ssh key ด้วยคำสั่งนี้

    ssh-copy-id -i ~/.ssh/id_rsa.pub john@192.168.6.221

    ให้แทนที่ john ด้วย username ที่ใช้ และเปลี่ยน IP เป็นที่ใช้

    Send ssh key

    ถ้าทำสำเร็จ ทดสอบด้วยคำสั่ง ssh john@192.168.6.221 จะเข้าได้โดยไม่มีถาม password
    ให้ออกจาก ssh นั้นด้วยคำสั่ง exit

    Testing

    ขั้นสุดท้ายทดสอบสั่ง reboot Windows ด้วยคำสั่ง เขียนติดกันเป็นบรรทัดเดียว

    ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no john@192.168.6.221 "/mnt/c/Windows/system32/shutdown.exe -r -f -t 0"
    Now we can manage Windows from remote

    วิธีที่ได้นำเสนอนี้ จะนำไปเป็นส่วนหนึ่งในการควบคุม Windows PC ในห้องบริการคอมพิวเตอร์ ซึ่งเราจะประยุกต์ให้เป็นการติดตั้งผ่าน shell script ไม่ต้องคีย์ทีละคำสั่ง