Category: Virtual Machine

  • วิธีซ่อนเวอร์ชัน Apache และ Linux (Ubuntu/Debian) OS จากส่วนหัว HTTP Headers

    How to Hide Your Apache Version and Linux (Ubuntu/Debian) OS From HTTP Headers

    ด้วย (ร่าง) มาตรฐานเว็บไซต์มหาวิทยาลัยสงขลานครินทร์ พ.ศ. 2567 และแนวปฏิบัติการรักษาความมั่นคงปลอดภัยเว็บไซต์ (Website Security Guideline) สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.)

    สำหรับการใช้งาน HTTP Response headers*1 ถูกใช้เพื่อส่งต่อนโยบายความปลอดภัยไปยังเบราเซอร์  ทำให้การเปิดเว็บไซต์ของเรามีความปลอดภัยเพิ่มมากขึ้น

    ซึ่งการกำหนดให้ Server Type ไม่แสดงข้อมูล เกี่ยวกับระบบปฏิบัติการและรุ่นของโปรแกรมเว็บไซต์ ที่ส่งผ่าน HTTP Response headers ที่ใช้งานผ่าน Apache2 เวอร์ที่สูงกว่า 2.4.8 มีวิธีซ่อนเวอร์ชัน Apache และ Linux (Ubuntu/Debian) OS จากส่วนหัว HTTP Headers ดังนี้

    ขั้นตอนที่ 1 เข้าใช้งานผ่าน SSH เปลี่ยนระดับผู้ใช้งานเป็น root ที่สามารถแก้ไขข้อมูลระบบได้

    ขั้นตอนที่ 2 แก้ไขการตั้งค่า Apache server configuration โดยใช้โปรแกรม Nano (โปรแกรมแก้ไขข้อความที่คุณต้องการ)

    Debian/Ubuntu:

    nano /etc/apache2/conf-enabled/security.conf

    ขั้นตอนที่ 3 เลื่อนหาส่วนการตั้งค่า “ServerTokens”

    • เดิมจะเป็นค่า “ServerTokens OS” ซึ่งแสดงข้อมูลระบบปฏิบัติการของระบบไปกับ HTTP Response headers
    • ให้เปลี่ยนแปลงค่าเป็น “ServerTokens Prod” โดยระบบจะซ่อน Apache version และ OS จาก HTTP headers

    ขั้นตอนที่ 4 เลื่อนหาส่วนการตั้งค่า “ServerSignature”

    • แก้ไขเป็น ServerSignature Off การปิดตัวเลือกนี้จะซ่อนข้อมูลจากเพจที่เซิร์ฟเวอร์สร้างขึ้น

    ขั้นตอนที่ 5 บันทึกและออกจากไฟล์

    Nano : Crt+O เพื่อทำการบันทึก และ Crt+X เพื่อออกจากการแก้ไข

    ขั้นตอนที่ 6 Restart Apache2

    Debian/Ubuntu: /ete/ini.d/apache2 restart

    1. *อ้างอิง: Hardening your HTTP response headers – CoP PSU IT Blog ↩︎
  • A Testing Virtual Data Center with OpenNebula miniONE on KVM

    โน้ตบุ๊ค HP รุ่น 6450b มีหน่วยความจำ 4 GB ผมเอามาทำเป็นเซิร์ฟเวอร์สำหรับรัน Virtual Machine (VM) ผมใช้ทดสอบติดตั้ง server หรือ services ต่าง ๆ เช่น Ubuntu server ทำงานเป็น web server เป็นต้น ผมอยากจะเรียกว่า Mobile Virtual Data Center ครับ โดยที่ผมนำซอฟต์แวร์ที่ชื่อว่า OpenNebula มาใช้ ตัวนี้ใช้ทำเป็น Virtual Data Center ขนาดใหญ่ได้เลยหากมี Hardware สเปคสูง ๆ สร้าง VM ให้บริการได้จริง เค้ามีซอฟต์แวร์สำหรับเครื่องเดียว (Test Drive) เรียกว่า OpenNebula miniONE ให้ใช้ น่าจะนำมาลงโน้ตบุ๊คได้ จึงได้ทดลองดู พบว่าใช้ได้จริง

    สิ่งที่ทำมีดังนี้

    1. เตรียม USB Drive ที่ Boot เป็น Ubuntu Desktop สำหรับติดตั้ง 
      • ดาวน์โหลดรุ่น LTS 20.04  ไฟล์นี้ ubuntu-20.04.1-desktop-amd64.iso
      • นำมาเขียนลง USB Drive ด้วยโปรแกรม Rufus for Windows

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

    1. นำ USB Drive ไป Boot ที่โน้ตบุ๊ค และ ติดตั้ง Ubuntu Desktop 

    (ติดตั้ง Ubuntu Desktop 20.04)

    1. Boot Ubuntu Desktop ที่โน้ตบุ๊ค และเข้าใช้งาน
      ติดตั้ง OpenSSH server
      • คำสั่ง sudo apt install openssh-server
    2. ติดตั้งเซิร์ฟเวอร์สำหรับสร้าง VM 
      • ติดตั้ง OpenNebula miniONE on KVM
      • แก้ไขเล็กน้อย
        • เตรียมไว้ว่าต่อไปจะใช้ TCP Port 80 สำหรับ web server ที่เป็น VM จึงต้องแก้ไข default port จาก 80 เป็นอย่างอื่น ตั้งค่า :port: 8080 แก้ไขที่ไฟล์ /etc/one/sunstone-server.conf
        • รันคำสั่ง sudo systemctl restart opennebula-sunstone.service
        • หลังจากติดตั้ง miniONE จะมีการจัดการค่าทาง network ใหม่ เราต้องแก้ไขให้ Ubuntu Desktop ได้รับ DHCP IP ดังนี้ ตั้งค่า renderer: networkd ตั้งชื่อ ethernets ที่ใช้ และ dhcp4: yes แก้ไขที่ไฟล์ /etc/netplan/01-network-manager-all.yaml
        • รันคำสั่ง sudo netplan apply
        • รันคำสั่ง ip addr
      • เข้า Browser ไปที่ URL http://NOTEBOOK_IP:8080 และ Login เข้าใช้ด้วย username คือ oneadmin และ password ที่ได้รับ
      • ปรับแต่งให้ Ubuntu Desktop ทำ enable packet forwarding for IPv4 เข้าออก VM ได้
        • ตั้งค่า net.ipv4.ip_forward=1 แก้ไขที่ไฟล์ /etc/sysctl.conf
        • รันคำสั่ง sudo sysctl -p

    (ติดตั้ง OpenNebula miniONE on KVM)

    1. สร้าง VM 
      • สร้าง VM Template ชื่อ Install new ubuntu และระบุว่าจะใช้ ubuntu-20.04.1-live-server-amd64.iso ในขั้นตอนติดตั้ง
      • สร้าง VM จาก VM Template ที่สร้างในข้อที่แล้ว
      • เปิด VM และ เข้าไปทำงานทางหน้า Web console จากนั้น login เข้าใช้งาน
      • ติดตั้ง Ubuntu Server (ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM)
      • ติดตั้ง apache2 web server (เปิด port 80) พร้อม php และลงซอฟต์แวร์ชื่อ CMSimple version 5.3 สำหรับทำเป็น CMS Web Server อย่างง่าย ไม่มี database (แตกไฟล์ CMSimple_5-3.zip ไว้ใน /var/www/html/cms/)
        (ติดตั้ง CMSimple version 5.3 ใน VM ของ miniONE KVM)
      • ทดสอบการเข้าใช้งานจาก Ubuntu Desktop ที่โน้ตบุ๊ค เพราะว่าในตอนนี้ OpenNebula miniONE จะสร้าง network ชื่อ vnet บน Interface ชื่อ minionebr ทำให้เข้าถึง http://VM_IP/cms/ ได้เฉพาะจากเครื่องโน้ตบุ๊คนี้เท่านั้น

    (สร้าง VM OpenNebula miniONE on KVM)

    1. ปรับแต่งให้ Ubuntu Desktop ทำหน้าที่เป็น proxy web server
      • ติดตั้ง haproxy
      • ตั้งค่า haproxy.conf ให้ชี้ไปที่ VM web server ที่ถูกต้อง ตามค่า URL path คือ /cms/  

    (ติดตั้ง haproxy บน Ubuntu Desktop)

    1. ทดสอบใช้งาน http://NOTEBOOK_IP/cms/ จากเครื่องอื่นใน LAN
  • ติดตั้ง haproxy บน Ubuntu Desktop

    เป็นขั้นตอนที่ทำขึ้น เพื่อทำการ redirect port 80 เข้าไปยัง web server ใน VM (OpenNebula miniONE on KVM) ที่เราติดตั้งไว้ในเครื่อง Ubuntu Desktop ในตัวอย่างนี้ Ubuntu Desktop มี IP 192.168.1.70 และ VM มี IP 172.16.100.3

    ขั้นตอน

    1. เปิด Terminal และติดตั้ง haproxy ด้วยคำสั่ง sudo apt install haproxy
    2. เข้าทำงานสิทธิ root ด้วยคำสั่ง sudo  su  –
      และไปในไดเรกทอรี cd  /etc/haproxy
      เก็บสำรองไฟล์ config ไว้ก่อน ด้วย cp  haproxy.cfg  haproxy.cfg.orig
      เข้าไปแก้ไขไฟล์ vi  haproxy.cfg
    3. เพิ่มบรรทัดเหล่านี้ ต่อท้ายบรรทัด errorfile 504 /etc/haproxy/errors/504.http

    frontend www-http

       bind *:80

       mode http

       acl is_cms path -i -m beg /cms/

       use_backend be_cms if is_cms

    backend be_cms

       option forwardfor

       server cms 172.16.100.3:80

    1. ทำการ restart haproxy และ ดู status
    2. ทดสอบการเข้าใช้งานจากเครื่องใน network เดียวกันกับเครื่อง Ubuntu Desktop ของเรา ไปที่ http://REAL-IP/cms/ 

    จบครับ

  • ติดตั้ง CMSimple version 5.3 ใน VM ของ miniONE KVM

    เป็น CMS Web Server อย่างง่าย ไม่มี database ติดตั้งลงใน OS ที่เป็น Ubuntu Server 20.04 ที่ได้ติดตั้ง apache2 web server (เปิด port 80) พร้อม php ไว้แล้วด้วยคำสั่ง sudo apt install apache2 php php-xml

    ขั้นตอน

    1. ไปที่เครื่อง Ubuntu Desktop ของเรา เข้าเว็บเบราว์เซอร์ OpenNebula Sunstone และเปิด VM ที่เป็น Ubuntu Server (สมมติว่า VM มี IP 172.16.100.3)
    2. เปิดเพจของ CMSimple
    3. ดาวน์โหลด CMSimple_5-3.zip
    4. ใช้คำสั่ง scp คัดลอกไฟล์ไปไว้ใน VM
      scp CMSimple_5-3.zip  papa@172.16.100.3
      เสร็จแล้ว ssh เข้าไปใน VM
      ssh  papa@172.16.100.3
    5. แตกไฟล์ CMSimple_5-3.zip
    6. หากยังไม่ได้ติดตั้ง apache2 และ php ให้ใช้คำสั่ง sudo apt install apache2 php และคำสั่ง sudo apt  install  php-xml
    7. นำไปไว้ใน /var/www/html/cms/
      sudo  mv  CMSimple_5-3  /var/www/html/cms
      sudo  chown  -R  www-data:www-data  /var/www/html/cms
    8. ทำ restart apache2
      sudo su –
      service apache2 restart
    9. ไปที่หน้าเว็บ http://VM_IP/cms/
    10. ศึกษาวิธีตั้ง Password ครั้งแรกได้จากไฟล์ readme.php
    11. ทำขั้นตอน setup Password ของ CMSimple
      sudo su –
      cd /var/www/html/cms/
      cp  ./setup/setupControl.php  .
      chmod 666 setupControl.php
    12. ไปที่หน้า login ของเว็บ http://VM_IP/cms/ และใส่ Password 
    13. ไปเปลี่ยน Password ที่เมนู Settings > CMS
    14. ตั้ง Password และคลิก Save
    15. ลอง logout แล้ว login ใหม่
    16. ใส่ Password ที่ตั้งใหม่
    17. ตอนนี้ก็จัดการ Pages ต่าง ๆ ที่ให้มาเป็นตัวอย่าง ศึกษาวิธีทำเพจได้เอง 
    18. เมื่อ logout ทุกครั้ง จะมีแจ้งว่า ได้บันทึกเพจไว้ 2 ไฟล์ พร้อมวันที่บันทึกเป็นสำเนา

    จบ คิดว่า มันง่ายดีในการนำมาใช้ทดสอบ และ ใช้งานได้จริงสำหรับเว็บเพจง่าย ๆ

  • สร้าง 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. เนื่องจากผมจะไม่ใช้ จึงขอลบทิ้ง

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

  • ddready – แพ็ครวม django + bootstrap4 + crispy form + docker พร้อมใช้งาน

    สำหรับใครที่อยากจะลองพัฒนา Web Application ด้วย django web framework ผมได้รวบรวมเป็นชุดเริ่มต้น ซึ่งจะสามารถสร้าง Responsive Web และ มีแบบฟอร์มที่สวยงามด้วย crispy form มาเรียบร้อย ใช้งานได้ทั้ง แบบ Python บนเครื่อง และ แบบ Docker ลองทำตามดูได้ครับ

    ต้นแบบ มี Bootstrap 4 พร้อมใช้งาน
    มี Login Form มาให้เลย
    เข้ามาในส่วนของ Profile และ Logout ได้

    Repository

    สามารถเปิด URL ต่อไปนี้ เพื่อไป Download หรือ จะใช้ git clone ก็ได้

    https://github.com/nagarindkx/ddready.git

    https://gitlab.psu.ac.th/kanakorn.h/ddready.git

    จากนั้น ให้เปิด cmd ไปยังตำแหน่งที่ clone ลงมา

    สำหรับผู้ที่ติดตั้ง python อยู่แล้ว

    แล้วใช้คำสั่งต่อไปนี้

    pip install -r requirements.txt
    cd code
    cd main
    waitress-serve --listen *:8080 main.wsgi:application

    สำหรับผู้ที่จะใช้ Docker

    บน Windows ใช้คำสั่งต่อไปนี้

    set PROJECTNAME="projectname"
    set GCP-PROJECT-ID="gcp-project-id"
    set SERVICE="service"
    docker build --rm -f "Dockerfile" -t %PROJECTNAME%:dev .
    docker run -d -v %CD%\code:/code -p 8080:8080 --name %PROJECTNAME% %PROJECTNAME%:dev
    docker exec -it %PROJECTNAME% /bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/sh"

    ทดสอบใช้งาน

    http://localhost:8080

    ในตอนต่อไป จะแนะนำวิธีการสร้าง แบบสอบถาม ทดแทนการใช้ Google Forms ครับ