Author: wiboon.w

  • สร้าง VM OpenNebula miniONE on KVM ตอนที่ 2 add one-context

    เป็นขั้นตอนติดตั้ง one-context ต่อจากตอนที่แล้ว

    ขั้นตอน

    1. คำสั่ง sudo su – และ คำสั่ง 

    wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.12.0.2/one-context_5.12.0.2-1.deb

    1. ลบ cloud-init ด้วยคำสั่ง apt-get purge -y cloud-init
      ติดตั้งด้วยคำสั่ง dpkg -i one-context_*deb || apt-get install -fy
    2. เมื่อเสร็จ ให้ออกจาก web console และ คลิก Power off hard
    3. เอา CD-ROM ออก
    4. เมื่อถึงตรงนี้ VM นี้ก็พร้อมใช้เป็นต้นแบบในครั้งต่อไปได้ เราจึง Save as Template สมมติให้ชื่อว่า ubuntu-server-20.04
    5. ปรับแต่ VM Template เพื่อเติมสิ่งที่เกี่ยวกับ Context โดยคลิกปุ่ม Update
    6. คลิกที่ Context และ คลิกที่ตัวเลือกทุกอัน
    7. ใส่ Custom vars คือ SET_HOSTNAME, USERNAME และ PASSWORD
    8. ตอนนี้ VM Template นี้ ก็พร้อมใช้งาน เพื่อสร้าง VM ใหม่อันต่อไป โดยจะคลิกที่คำว่า Instantiate ก็ได้
    9. เลือกได้ว่าจะให้สร้างทีละกี่ instances ส่วนชื่อให้ละไว้ไม่ต้องใส่ก็ได้
    10. จะได้ชื่อจาก ชื่อ VM Template และต่อท้ายด้วย VMID
    11. คลิกที่ web console เพื่อเข้าไปใช้งาน VM
    12. จะได้หน้านี้
    13. ทดสอบ login ด้วย username ชื่อ papa ตามที่เราตั้งใน Context
    14. หน้า Dashboard หลังจากที่เราสร้างเสร็จ 1 ตัว
    15. หากเข้าหน้าเว็บ Sunstone ไม่ได้เพราะลืม password ของ username oneadmin ดูที่นี่
    16. ถึงตรงนี้ เราควรจะ ssh จาก ubuntu desktop เข้าไปยัง VM ได้ แต่หากเราไม่สามารถ ssh เข้าไปยัง VM เพราะว่า ssh host key ไม่มีเนื่องจากข้อผิดพลาดในขั้นตอนติดตั้ง Ubuntu server ให้สร้างด้วยคำสั่ง ssh-keygen -A ในเครื่อง VM แล้ววนกลับไปสร้าง VM Template ใหม่ 

    ในตอนต่อไปก็จะเป็นการติดตั้ง CMS Web Site เพื่อใช้ในการทดสอบการให้บริการ TCP port 80 ผ่าน HAPROXY ของเครื่อง ubuntu desktop

  • สร้าง VM OpenNebula miniONE on KVM

    หลังจากติดตั้ง server เสร็จแล้ว ตอนนี้ เรามาลองสร้าง VM กันสัก 1 ตัว หลักการคือ สร้าง image ที่เป็น disk เปล่า ๆ จากนั้นสร้าง VM Template ให้มาใช้ image นี้ และกำหนดค่า VM Template ให้เสร็จ แล้วสร้าง VM จาก VM Template นั้น

    ขั้นตอน

    1. สร้าง Image เปล่า สมมติตั้งชื่อว่า DISK8GB กำหนด Type คือ Generic storage datablock และเป็นแบบ Empty disk image กำหนดขนาด 8 GB
    2. สร้าง Image ที่เป็น CD-ROM สมมติตั้งชื่อว่า iso-ubuntu-focal กำหนด Type คือ Readonly CD-ROM โดย Upload จากฮาร์ดดิสก์ และเลือก ubuntu-20.04.1-live-server-amd64.iso
    3. ตอนนี้เตรียมของ 2 อย่าง พร้อมแล้ว
    4. สร้าง VM Template ชื่อ Install new ubuntu ใช้ Hypervisor ชนิด KVM กำหนด Memory 768 MB (เพิ่มได้) 
    5. กำหนดค่า Storage ให้ DISK0 ใช้ image ชื่อ DISK8GB
    6. กำหนดค่า Network ใช้อันที่มีอยู่แล้วคือ vnet (สร้างเองได้ภายหลัง)
    7. คลิก Create เพื่อสร้าง VM Template
    8. จะได้ดังรูป
    9. สร้าง VM จาก VM Template ที่สร้างในข้อที่แล้ว คลิกที่ Instances > VMs และคลิกปุ่ม +
    10. เลือก VM Template ชื่อ install new ubuntu
    11. จะได้ VM ชื่อ install new ubuntu-0
    12. แต่ตอนนี้ เรายังไม่ได้ใส่ CD-ROM เพื่อติดตั้ง ให้คลิก Power Off hard
    13. คลิกที่ VM 
    14. คลิกที่ Storage และ คลิก Attach disk
    15. คลิกเลือก image ที่เป็น CD-ROM
    16. ตอนนี้ เรามี disk และ CD-ROM แล้ว
    17. คลิก Config เพื่อเข้าไป Update configuration
    18. ตั้งค่า OS&CPU Boot order ให้ boot CD-ROM
    19. เปิด VM
    20. เข้าไปทำงานทางหน้า Web console 
    21. รอ
    22. ติดตั้ง Ubuntu Server ลงใน VM
      (ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM)

    ตอนต่อไปเป็นขั้นตอนติดตั้ง one-context เพิ่มลงใน VM อ่านต่อเรื่องนี้ สร้าง VM OpenNebula miniONE on KVM ตอนที่ 2 add one-context

  • ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM

    เป็นขั้นตอนสร้าง VM ที่เป็น Ubuntu Server 20.04 ใน VM ของ miniONE KVM

    ขั้นตอน

    1. เลือกใช้ภาษาอังกฤษในการติดตั้ง
    2. เลือก keyboard layout 
    3. ตั้งค่า IP Address แบบ static เลือก Interface name และ คลิก Edit IPv4
    4. เลือก Method แบบ Manual
    5. ใส่ค่า IP Address
    6. ไปต่อ คลิก Done
    7. ไปต่อ คลิก Done
    8. ตั้ง Mirror address มาที่ http://th.archive.ubuntu.com/ubuntu
    9. Storage configuration เลือก Use an entire disk 
    10. ไปต่อ คลิก Done
    11. Confirm destructive action เลือก Continue
    12. กำหนดค่า name, username และ password
    13. เลือก Install OpenSSH server และคลิก Done
    14. Featured Server Snaps ไม่เลือก ไปต่อ คลิก Done
    15. รอ
    16. เมื่อเสร็จ คลิก Reboot
    17. ในขั้นตอน downloading and installing security updates หากนานมาก จะไม่รอ ก็คลิก Cancel update and reboot
    18. เมื่อกลับเข้าใช้งาน ต้อง update เองสักรอบ เพื่อลงโปรแกรมอื่น ๆ ได้
    19. และอาจเป็นผลให้ติดตั้ง ssh host key ไม่สำเร็จ ตรวจสอบด้วยคำสั่ง ls -l /etc/ssh
    20. แก้ไขโดยสร้าง ssh host key ด้วยคำสั่ง ssh-keygen -A

    จบขั้นตอนสร้าง Ubuntu Server

  • ติดตั้ง OpenNebula miniONE on KVM

    เป็นวิธีการติดตั้งเซิร์ฟเวอร์สำหรับสร้าง VM โดยเลือกใช้โปรแกรมชื่อ OpenNebula miniONE ซึ่งจะมีตัวเลือกว่า จะติดตั้งเพื่อใช้งานกับ Hypervisor ชนิดใด เช่น KVM, vCenter, LXD หรือ Firecracker เป็นต้น ในที่นี้เลือก KVM

    ขั้นตอน

    1. หลังจากเปิดเข้าใช้งาน Ubuntu Desktop เราจะต้องใช้ Terminal เพื่อทำคำสั่งต่าง ๆ โดยคลิกที่ไอคอน 9 จุด แล้วเลือก All ให้แสดงทุกโปรแกรม และเลือก Terminal
    2. ติดต้้ง openssh-server หากยังไม่ได้ติดตั้ง ด้วยคำสั่ง sudo apt install openssh-server
    3. พักหน้าต่าง Terminal ไว้ก่อน ตอนนีัเราจะไปดาวน์โหลด Opennebula miniONE โดยคลิกเปิดเบราว์เซอร์ Firefox และค้นหาคำว่า opennebula
    4. คลิกเลือก miniONE on KVM จากหน้าต่างของเว็บไซต์ opennebula.io
    5. จะมีบรรรทัดคำสั่งให้เราคัดลอกไปใช้ในการติดตั้ง
    6. ดาวน์โหลดตัวโปรแกรมติดตั้ง
    7. รันคำสั่งติดตั้ง คือ sudo bash minione
    8. จะมีการตรวจสอบสักครู่แล้วแจ้งให้พิมพ์ yes เพื่อยืนยันการติดตั้ง
    9. เมื่อเสร็จจะได้ user และ password ให้จดไว้ (จะเก็บอยู่ใน /var/lib/one/.one/one_auth)
    10. เตรียมไว้ว่าต่อไปจะใช้ TCP Port 80 สำหรับ web server ที่เป็น VM จึงต้องแก้ไข default port จาก 80 เป็นอย่างอื่น ตั้งค่า :port: 8080 แก้ไขที่ไฟล์ /etc/one/sunstone-server.conf
    11. รันคำสั่ง sudo systemctl restart opennebula-sunstone.service
    12. หลังจากติดตั้ง miniONE จะมีการจัดการค่าทาง network ใหม่ ทำให้ไม่ได้ IP ตรวจสอบด้วยการรันคำสั่ง ip addr 
    13. เราต้องแก้ไขให้ Ubuntu Desktop ได้รับ DHCP IP ดังนี้ ตั้งค่า renderer: networkd ตั้งชื่อ ethernets ที่ใช้ และ dhcp4: yes แก้ไขที่ไฟล์ /etc/netplan/01-network-manager-all.yaml 
    14. เสร็จแล้วต้องรันคำสั่ง sudo netplan apply และตรวจสอบดูค่า IP
    15. จัดการแก้ไขปรับแต่งให้ Ubuntu Desktop ทำ enable packet forwarding for IPv4 เข้าออก VM ได้ ตั้งค่า net.ipv4.ip_forward=1 โดยแก้ไขที่ไฟล์ /etc/sysctl.conf
    16. รันคำสั่ง sudo sysctl -p
    17. เข้า Browser ไปที่ URL http://NOTEBOOK_IP:8080 และ Login เข้าใช้ด้วย username คือ oneadmin และ password ที่ได้รับ 
    18. จะเห็นหน้า Dashboard มี VM 1 ตัว 
    19. ในขั้นตอนติดตั้ง miniONE จะใส่ CentOS7 มาให้เป็นตัวอย่าง ทั้ง image และ VM template   พร้อมใช้งาน (ถ้าเราใช้ CentOS) 
    20. เนื่องจากผมจะไม่ใช้ จึงขอลบทิ้ง

    จบในส่วนการติดตั้ง

  • ติดตั้ง Ubuntu Desktop 20.04

    ขอแนะนำวิธีการติดตั้ง Ubuntu Desktop เพื่อเตรียมใช้เล่าเรื่องราวในตอนต่อ ๆ ไป เพื่อให้เห็นภาพว่า เราสามารถติดตั้งระบบปฏิบัติการ Ubuntu ที่เป็น Graphic User Interface ได้อย่างง่าย ๆ เลือก minimal installation ให้มีแค่ Firefox Web Browser

    ขั้นตอน

    1. นำ USB Drive ที่มี Ubuntu Desktop ไป Boot ที่โน้ตบุ๊ค
    2. หน้าต่างแรก จะมีคำถามให้เลือก เลือก Install Ubuntu
    3. ค่า Keyboard layout ใช้ค่า default คือ English 
    4. จะเลือกติดตั้งแบบ Minimal installation
    5. เครื่องนี้พร้อมให้ล้างฮาร์ดดิสก์ได้ ก็จะเลือก Erase disk and install Ubuntu
    6. กด Continue เพื่อยืนยันติดต้้งลงฮาร์ดดิสก์ได้
    7. เลือกชื่อเมือง Bangkok
    8. ตั้งชื่อผู้ใช้ ชื่อเครื่อง ชื่อ username และ password
    9. เริ่มติดตั้ง  รอ
    10. เมื่อเสร็จ คลิก Restart Now
    11. ดึง USB Drive ออก แล้วกด Enter
    12. เมื่อ Boot เข้าได้สำเร็จ จะมีหน้าต่างให้เลือก username ที่ใช้
    13. ในครั้งแรกที่เข้าใช้ จะมีตัวเลือกว่า จะใช้ user แบบ Single Sign-On ของ Ubuntu หรือ จะใช้อย่างอื่นก็เลือกเอา หรือจะไม่ทำอะไรก่อน ก็คลิก Skip
    14. คลิก Next อีก 2 หน้าต่าง


    15. หน้านี้ หากเรายอมให้ข้อมูล Location ก็คลิกปุ่มเพื่อสไลด์เปิด
    16. คลิก Done 
    17. จะมีหน้าต่าง Software Updater ให้คลิก Install Now
    18. ทุกครั้งที่จะมีการเพิ่ม/ลบโปรแกรม จะต้องให้ข้อมูลว่า เรามีสิทธิจัดการ โดยใส่รหัสผ่าน ทุกครั้ง
    19. รอให้ update เสร็จ
    20. เมื่อเสร็จ คลิก Restart Now
    21. เมื่อ Boot กลับเข้ามาในครั้งหลังนี้ ก็ใช้งานได้แล้ว โดยคลิกที่ปุ่ม 9 จุด เพื่อดูว่ามีอะไรให้ใช้งานบ้าง

  • สร้าง Bootable USB Drive ด้วยโปรแกรม Rufus for Windows

    บทความนี้แนะนำวิธีติดตั้งซอฟต์แวร์ระบบปฏิบัติการด้วย USB Drive ที่ลงโปรแกรมให้สามารถ Boot ตอนนี้เป็นเวอร์ชั่น 3.13 แล้ว ก็มาอัปเดตอีกสักครั้ง ตัวอย่างนี้คือทำ Bootable USB Drive Ubuntu 20.04 Desktop 64 bit ครับ

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมจากเว็บไซต์นี้ https://rufus.ie/
    2. ได้ไฟล์ rufus-3.13.exe มา ให้คลิกเปิด (Open)
    3. จะมีถามย้ำจาก Windows ให้ยืนยัน Yes
    4. จะมีถามจากโปรแกรมว่าจะยอมให้มีการตรวจเช็คเวอร์ชั่นใหม่ ๆ หรือไม่ ให้ยืนยัน No ไม่จำเป็น
    5. จะได้หน้าต่างโปรแกรม หากเสียบ USB Drive ไว้ ก็จะแสดงรายการขึ้นมาว่า เดิมเป็นอะไร
    6. ให้คลิก SELECT เพื่อเลือก .iso file เช่น ubuntu-20.04.1-desktop-amd64.iso
    7. ให้คลิก START เพื่อทำการสร้าง Bootable USB Drive ในตัวอย่างคือ Ubuntu 20.04 Desktop 64 bit
    8. ไฟล์ rufus-3.13.exe จะอยู่ใน Downloads จะใช้ครั้งต่อไปก็แค่คลิกเปิด (Open) หรือจะย้ายไปไว้ใน Desktop ก็ได้

  • ซอฟต์แวร์สำหรับการโคลนนิ่งวินโดวส์ในห้องบริการคอมพิวเตอร์

    นำเรื่องนี้มาแนะนำกันอีกสักครั้ง เผื่อว่าใครกำลังมองหาซอฟต์แวร์ฟรีไว้ใช้ในการโคลนนิ่งฮาร์ดดิสก์ของเครื่องคอมพิวเตอร์ในห้องบริการคอมพิวเตอร์ ผมเพิ่งมีเวลาอัปเดตเป็นเวอร์ชั่นล่าสุด มีอยุ่ 2 ตัว เอาไปทดลองใช้ดูได้ครับ

    PSU12-Sritrang Server

    ผมได้พัฒนาชุดจัดการโคลนนิ่งวินโดวส์ในห้องบริการคอมพิวเตอร์ มีคณะ/หน่วยงานในม.อ. ใช้งานชุดนี้กันอยู่ ชุดนี้มีชื่อเรียกว่า PSU12-Sritrang Server เหมาะสำหรับโคลนนิ่งเครื่องวินโดวส์แบบธรรมดาทั่วไป ใช้ BIOS MBR ควบคุมการทำงานด้วย dialog menu เป็น Text-based

    แบบที่ 1 ดาวน์โหลด .ISO มาเขียนลง USB Drive เพื่อใช้เป็นตัวติดตั้งที่ทำขั้นตอนติดตั้ง Ubuntu Server พร้อมโปรแกรม

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมชื่อ Rufus
    2. ดาวน์โหลด .ISO ชื่อ psu12-sritrang-server-latest.iso
    3. รันโปรแกรม Rufus เพื่อเขียน .ISO ลง USB Drive
    4. นำ USB Drive ไปบูตที่เครื่อง Server
    5. ทำตามคำแนะนำโปรแกรมในขณะติดตั้ง
      อ่านเพิ่มเติม

    แบบที่ 2 มีอยู่แล้วหรือต้องการติดตั้ง Ubuntu Server เอง ดาวน์โหลด shell scripts เพื่อติดตั้งโปรแกรมเพิ่ม

    ขั้นตอน

    1. login และ เข้าทำงานด้วยสิทธิ root
      sudo su –
    2. ดาวน์โหลด shell script
      wget ftp.psu.ac.th/pub/psu-installer/psu12-sritrang_setup.sh
    3. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
      bash psu12-sritrang_setup.sh
      อ่านเพิ่มเติม

    PSU12-Fog Server

    ชุดที่สองนี้ ผมได้นำ FogProject มาใส่ใน Ubuntu Server และ ตั้งชื่อว่า PSU12-Fog Server เหมาะสำหรับโคลนนิ่งเครื่องวินโดวส์ได้ทุกแบบ ทั้งแบบ BIOS MBR, BIOS GPT และ UEFI GPT ควบคุมการทำงานทางหน้าเว็บเพจของ FogProject

    แบบที่ 1 ดาวน์โหลด .ISO มาเขียนลง USB Drive เพื่อใช้เป็นตัวติดตั้งที่ทำขั้นตอนติดตั้ง Ubuntu Server พร้อมโปรแกรม

    ขั้นตอน

    1. ดาวน์โหลดโปรแกรมชื่อ Rufus
    2. ดาวน์โหลด .ISO ชื่อ psu12-fog-server-latest.iso
    3. รันโปรแกรม Rufus เพื่อเขียน .ISO ลง USB Drive
    4. นำ USB Drive ไปบูตที่เครื่อง Server
    5. ทำตามคำแนะนำโปรแกรมในขณะติดตั้ง
      อ่านเพิ่มเติม

    แบบที่ 2 มีอยู่แล้วหรือต้องการติดตั้ง Ubuntu Server เอง ดาวน์โหลด shell scripts เพื่อติดตั้งโปรแกรมเพิ่ม

    ขั้นตอน

    1. login และ เข้าทำงานด้วยสิทธิ root
      sudo su –
    2. ดาวน์โหลด shell script
      wget ftp.psu.ac.th/pub/psu-installer/psu12-fog_setup.sh
    3. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
      bash psu12-fog_setup.sh
      อ่านเพิ่มเติม

    References:

  • การสร้าง Flow ใน Microsoft SharePoint

    ผมใช้งาน SharePoint สำหรับจัดเก็บ data เพราะว่าเป็นวิธีที่สะดวก เนื่องจากหน่วยงานมีให้ใช้งานอยู่แล้ว ผมได้สร้าง List เพื่อบันทึกรายการ (item) เกี่ยวกับ การจัดการความเสี่ยง เอาไว้ใน subsite ชื่อ RISK เมื่อบันทึกไปสักระยะ พบว่า เมื่อถึงรอบถัดไปในการประเมินเพื่อการจัดการความเสี่ยง หากต้องคีย์ข้อมูลใหม่ทีละรายการ ทั้ง ๆ ที่ ข้อมูลส่วนมากจะเหมือนกับรอบก่อนหน้านี้ จึงคิดว่า น่าจะมีวิธีการ คัดลอกรายการบรรทัดที่ต้องการ ทุกคอลัมน์ มาเป็นรายการใหม่

    ค้นหาดูใน SharePoint จะมีเครื่องมือที่เรียกว่า Flow ซึ่งจะเป็นส่วนที่ SharePoint เรียกว่า Power Automate ให้ใช้งาน แต่เราต้องสร้าง Flow ขึ้นมาก่อน โดยต้องระบุเองว่า เราจะเอาคอลัมน์ไหนบ้าง และ ต้องการใช้สูตรคำนวณ (formula) ด้วยมั้ย เช่น มีคอลัมน์ที่แสดงค่า รอบที่ เมื่อประเมินรอบใหม่จะต้องเพิ่มรอบที่ เช่น เดิมเป็นรอบที่ 8 เมื่อคัดลอกเป็นรายการใหม่ คอลัมน์ที่เก็บ รอบที่ ก็จะกลายเป็น 9 ให้เอง อย่างนี้เป็นต้น หลังจากศึกษาหาทางจาก Google search ก็พบว่า Microsoft SharePoint มีคำแนะนำเยอะพอสมควร จึงคิดว่า อยากจะบันทึกไว้กันลืม วิธีสร้างก็ค่อนข้างยาว มีดังนี้

    การสร้าง Flow

    ขั้นตอน

    1. ที่เมนูด้านบนของ List ที่กำลังใช้งาน ให้คลิกที่ Automate และเลือก Power Automate เลือก See your flows
    2. หากเป็นครั้งแรก ในหน้าต่างก็จะไม่มีรายการ Flow
    3. ที่เมนูด้านซ้าย ให้คลิกที่ Create และเลือก Instant flow
    4. จะได้หน้าต่าง Build an instant flow จะมีช่องให้ตั้งชื่อ flow จะตั้งชื่อว่า Clone Selected Item
    5. ต่อไปก็เลื่อนหารายการ tigger ที่ให้เลือกใช้ ก็ให้เลือกอันที่เขียนว่า For a selected item SharePoint
    6. ใส่ข้อมูลในช่อง Site Address โดยเลือกจาก drop down list
    7. ใส่ข้อมูลในช่อง List name โดยเลือกจาก drop down list
    8. คลิก New step
    9. หน้าต่าง Choose an action ในช่อง search ใส่คำว่า sharepoint เพื่อบีบ scope ให้แคบลง และเลื่อนหารายการจนเจอคำว่า Get item
    10. จะมีหน้าต่างโผล่มาทางขวา ใต้แท็บ Dynamic content ให้เลือก ID จะได้ดังรูปข้างล่างนี้
    11. ต่อไปคลิก New Step
    12. จะได้หน้าต่าง Choose an action อีกครั้ง ที่นี้ในช่อง search ใส่คำว่า sharepoint create เพื่อบีบ scope ให้แคบลง และเลื่อนหารายการจนเจอคำว่า Create item
    13. ทยอยใส่ทีละคอลัมน์ โดยเลือกจาก Dynamic content แต่หากต้องการการคำนวณ ให้คลิกแท็บ Expression จนครบทุกคอลัมน์ที่ต้องการคัดลอก

    การใช้สูตรคำนวณ

    ขั้นตอน

    ในขั้นตอน Create item เมื่อมีคอลัมน์ที่จะคำนวณ เช่น คอลัมน์ “รอบที่” บวกเพิ่ม 1 ให้เลือก Expression แล้วใส่สูตรคำนวณ ตัวอย่าง add(outputs(‘Get_item’),1) เป็นต้น

    การใช้งาน Flow

    เมื่อต้องการคัดลอกรายการที่มีอยู่ สร้างเป็นรายการใหม่อีกอัน พร้อมข้อมูลคอลัมน์ทีจะถูกคัดลอกมาด้วย Flow ชื่อ Clone Selected Item

    ขั้นตอน

    1. เปิด List ที่ใช้งาน คลิกที่รูปวงกลม (เลือก) หน้ารายการ เพื่อเลือกว่าจะคัดลอกรายการนั้น
    2. คลิกที่เมนู (ด้านบน) ชื่อ Automate
    3. คลิกเลือก Clone Selected Item
    4. จะได้หน้าต่าง Popup ทางขวา ชื่อว่า Run flow แจ้งสิทธิการใช้งาน ถ้าได้รับสิทธิ ก็คลิก Continue
    5. แล้วคลิก Run flow
    6. จะได้รายการใหม่ต่อท้าย
    7. คลิกที่รูปวงกลม (เลือก) หน้ารายการ ซ้ำ เพื่อ จบขั้นตอน

  • เรื่องเล่าจากการทำ ubuntu do-release-upgrade

    มี ubuntu server 18.04.5 ที่มี open source software ชื่อ fogproject เวอร์ชั่นที่ใช้คือ 1.5.8 ซึ่งใช้สำหรับการ cloning Windows ในห้องบริการคอมพิวเตอร์ บางคนคงได้ใช้งานอยู่ และก็มี freeradius 3.0 ติดตั้งไว้ด้วย

    อยากจะขยับ ubuntu server จาก 18.04.5 ไปเป็น 20.04 ก็เลยทำคำสั่ง do-release-upgrade ในเครื่องทดสอบ ทำจนเสร็จได้ ubuntu 20.04 สมใจ ในระหว่างขั้นตอนการทำ upgrade นั้นก็จะมีหน้าคำถามว่า จะใช้ไฟล์คอนฟิกของโปรแกรมที่ตรวจพบว่าเรามีการไปแก้ไขไว้ จะเลือกที่ใช้อยู่ปัจจุบัน หรือ จะใช้ของใหม่ตาม package ก็เลือกว่า ใช้ของที่ใช้อยู่ ซึ่งก็ค่อยมาแก้ไขว่า ของใหม่มีอะไรใหม่บ้าง ให้ดูเทียบกับ ไฟล์.dpkg-list

    ตอนนี้เราได้ ubuntu 20.04 แล้ว ลองตรวจสอบดูสิว่า fogproject กับ freeradius ใช้งานได้มั้ย เอาหละสิ fogproject รันไม่ขึ้น ลอง reinstall ด้วยคำสั่ง ./installfog.sh -y ก็เจอฟ้องว่า “Stopping web service failed ค้นหาใน google ก็พบคำตอบว่า fogproject รุ่น 1.5.8 ไม่รองรับ ubuntu 20.04 ซึ่งหากใครเจอปัญหาตอนที่ fogproject 1.5.9 ยังไม่ออกมาให้ใช้ –มีหนาวแน่นอน– เพราะมันจะรันไม่ได้เลย ตรงนี้น่ากังวลมาก ๆ และควรระวังมาก ๆ แต่บังเอิญว่า ตอนเวลานี้ fogproject รุ่น 1.5.9 ออกมาเพื่อแก้ปัญหาใช้กับ ubuntu 20.04 ได้แล้ว พร้อมให้ download แล้วที่เว็บไซต์

    จะมีปัญหาเกี่ยวกับ php ด้วย คือ มันจะไม่ได้ php7.4 โดยทันที ซึ่งเป็นรุ่นที่มาพร้อมกับ ubuntu 20.04 หากต้องการลงเพิ่มด้วยคำสั่ง apt install php7.4 อันนี้อยากบอกว่า ซอฟต์แวร์ของคุณอาจจะต้องใช้ php เวอร์ชั่นเก่า ก็ควรระมัดระวังด้วย

    หลังจากนั้นก็ไปเอา fogproject 1.5.9 มาติดตั้ง จะทำการติดตั้ง php7.4 ให้อัตโนมัติหากยังไม่มี php7.4 ซึ่งก็ทำให้ใช้งาน fogproject ได้ดังเดิม

    ต่อมาตรวจสอบ freeradius ก็พบว่ามีการเปลี่ยนเวอร์ชั่นขึ้นเล็กน้อยเช่นกัน และในขั้นตอน upgrade นั้น เราก็เลือกว่าจะใช้ไฟล์คอนฟิกที่เราแก้ไขไว้ ผลคือ ม้นไม่สร้าง symbolic link file ไปยังไดเรกทอรี /etc/freeradius/3.0/sites-enabled ซึ่งจะต้องมี 2 ไฟล์คือ defaults กับ inner-tunnel ซึ่งก็จะสร้างได้ด้วยคำสั่ง ln -s โดยเราต้องสร้างไดเรกทอรีนั้นขึ้นมาก่อน แล้ว cd เข้าไปในไดเรกทอรีนั้น แล้วใช้คำสั่ง ln -s ../sites-available/default default และ ln -s ../sites-available/inner-tunnel inner-tunnel

    ตอนนี้ก็ start service freeradius ได้แล้ว

    มาลองทดสอบ freeradius user ผ่าน webservice ก็เจอว่า SoapClient error เนื่องจากไม่มี php7.4-soap ก็ติดตั้งด้วยคำสั่ง apt install php7.4-soap ทดสอบอีกทีด้วย username กับ password ของมหาวิทยาลัย ใช้กับ freeradius ได้

    (มาเล่าต่อจากเมื่อวาน)

    พอจะใช้งาน PXE boot เอ้าเจอปัญหา Windows Client เปิดเครื่องขึ้นมาแล้ว Boot from network ติดต่อกับ server เราไม่ได้ เกิดอะไรขึ้น ก็ไปเช็คดู dhcp server ในเครื่องซิว่าทำงานมั้ย ด้วยคำสั่ง service isc-dhcp-server status ก็โอเค เช็คดู dnsmasq ที่ทำหน้าที่เป็น proxy dhcp ซิ ด้วยคำสั่ง service dnsmasq status มัน error ต้องออกแรงค้นหาอีกแล้ว ก็ไปเจอเรื่องแรก ตอนที่ทำ do-release-upgrade จะมีคำถามว่า ใน ubuntu 20.04 นี้ จะเปลี่ยนเวอร์ชั่นของ LXD ก็มีบรรทัด recommended ก็เลือกตามนั้น แล้วมันก็ส่งผลมามี symbolic link file ใน /etc/dnsmasq.d/lxd ซึ่งชี้ไปยังไฟล์ที่ไม่มีอยู่จริง แสดงว่ามีการเปลี่ยนแปลงอะไรสักอย่างแล้ว ก็ลบไฟล์ lxd นี้ออก ก็ยังรันไม่ได้ ก็กลับไปดูว่าใน server เวอร์ชันก่อนหน้าที่จะทำ do-release-upgrade นั้น ข้างในไฟล์ lxd เขียนไว้ว่าอย่างไร ก็พบว่ามี 2 บรรทัดคือ

    bind-interfaces
    except-interface=lxdbr0

    ผมก็สร้างไฟล์ชื่อ etc.conf ที่มี 2 บรรทัดนั้น แล้วก็ start dnsmasq ด้วยคำสั่ง service dnsmasq start ก็ผ่าน ใช้งานได้

    เล่นเอาเหนี่อย เพราะว่า options ชื่อ bind-interfaces ทำให้ dnsmasq ทำงานได้ปรกติ มันมาพร้อม lxd ใน ubuntu 18.04 นั่นเอง แต่ใน ubuntu 20.04 เหมือนว่า lxd จะเปลียนอะไรบางอย่าง จริง ๆ lxd เราก็ไม่ได้ใช้นะ ลบออกได้

    (จบส่วนที่มาเพิ่มในวันที่ 2)

    จะเห็นได้ว่า การทำ ubuntu do-release-upgrade นั่น อาจเจออะไรแบบที่เล่ามานี้ครับ ขอให้ระมัดระวังกันด้วยนะ

    สรุปว่าได้ ubuntu 20.04.1, fogproject1.5.9, php7.4, freeradius 3.0.20

    เพจที่บอกว่า fogproject 1.5.8 ไม่รองรับ ubuntu 20.04
    https://forums.fogproject.org/topic/14440/stopping-web-service-failed

    ขอบคุณครับ