การติดตั้งและใช้งาน PSU12-Sritrang

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อ 20-08-2564

ดูแลโดย WIBOON


คำเตือน: รหัสผ่าน 123456 และอื่นๆ รวมทั้ง radius secret ที่ใช้ ตั้งขึ้นเพื่อให้สะดวกเท่านั้น หากนำไปติดตั้งใช้งานจริง ต้องเปลี่ยนเป็นอย่างอื่นและจดจำไว้

  • รองรับการโคลนนิ่ง BIOS (MS-DOS partitions) เท่านั้น
  • ทดสอบกับ ubuntu server รุ่น 12.04, 14.04, 16.04
  • ทดสอบกับ ubuntu server รุ่น 18.04 (ที่เลือกใช้ ifconfig)
  • ทดสอบกับ ubuntu server รุ่น 20.04 (ที่เลือกใช้ ifconfig) ในรุ่นนี้ Hard disk partition จะใช้ค่า default คือ BIOS GPT จะมี 2 partition โดยที่ partition ที่ 1 จะเป็น BIOS boot และ partition ที่ 2 จะเป็น Linux filesystem
  • ทดสอบกับ sysresccd 3.7.0 - sysresccd 5.1.2
  • มีอุปกรณ์ cisco บางรุ่นอาจใช้ PXE ไม่ได้ ต้องตั้งค่าให้ port-fast ทำงาน ดูเพิ่มเติมตามเวบ
    http://www.linuxquestions.org/questions/linux-server-73/pxe-server-issue-why-do-i-need-to-enable-port-fast-556008/
  • มีเมนูให้เลือกติดตั้ง disk type SATA (sd?) หรือ M.2 SSD (nvm)
  • ChangeLog


เนื้อหา

เลือกวิธีการติดตั้ง PSU12-Sritrang server

การติดตั้งจะมี 2 วิธี

แบบที่ 1 ใช้แผ่น DVD-ROM สำหรับติดตั้งแบบ offline

แผ่นนี้ชื่อ sysresccd-x.y.z-nn.nn-dvd-psu12-sritrang-server-autopartition-offline-yyyy-mm-dd.iso
โดยที่ x.y.z คือ เลขรุ่นของ sysresccd และ nn.nn คือ เลขรุ่นของ ubuntu server
แผ่นนี้จะติดตั้ง ubuntu server พร้อมทั้งซอฟต์แวร์ โดยไม่ต้องต่อเน็ต จัดการแบ่ง partition ของ hard disk ลูกแรกที่พบ (/dev/sda) และติดตั้งจากไฟล์ psu12-sritrang.tgz (ubuntu server 16.04) ที่เก็บอยู่ในแผ่น

จะมีขั้นตอนที่จะต้องเลือกทำ
1.1 แบ่ง partition และติดตั้งแบบ auto
1.2 แบ่ง partition และติดตั้งแบบ manual

รายละเอียดดังนี้
1.1 แบ่ง partition และติดตั้งแบบ auto

  1. download ไฟล์ .iso ล่าสุด ที่นี่
    รุ่น ubuntu 20.04 sysresccd-5.1.2-20.04-dvd-psu12-sritrang-server-autopartition-offline-2021-08-20.iso
    MD5sum 766496de0025b81b85a11198138a1d13 sysresccd-5.1.2-20.04-dvd-psu12-sritrang-server-autopartition-offline-2021-08-20.iso
    หรือเข้าไปที่ http://ftp.psu.ac.th/pub/psu12-sritrang/ เพื่อเลือกดูว่ามีใหม่ล่าสุดกว่าหรือไม่
  2. boot ด้วย แผ่น DVD-ROM ที่ download มานั้น
    จะเข้าสู่ระบบปฏิบัติการของ system rescued cd และจะมาหยุดอยู่ที่ dialog box ข้อความว่า
    This CD is going to automatically create partitions on hard disk and install PSU12-Sritrang server
    Answer 'Yes' will erase all data in hard disk
    Answer 'No' will startx to manual partition hard disk

  3. เลือก Yes และกดแป้น Enter เพื่อล้างฮาร์ดดิสก์และแบ่ง partition ให้ด้วย (ซึ่งหากฮาร์ดดิสก์มีข้อมูลที่ยังไม่ได้สำรองให้ตอบ No)
    เมื่อการติดตั้งสิ้นสุดลง จะปิดเครื่องอัตโนมัติ
    หรือ
    เลือก No และกดแป้น Enter เพื่อจะทำขั้นตอน 1.2 แบ่ง partition และติดตั้ง แบบ Manual (อยู่ด้านล่าง)
  4. แล้วให้เปิดเครื่องเองอีกครั้ง ให้นำแผ่น DVD ออกจากช่อง DVD-ROM Drive
  5. ไปทำหัวข้อ ตั้งค่า server ครั้งแรก ด้านล่างนี้

หรือ

1.2 แบ่ง partition และติดตั้งแบบ Manual
สำหรับ ubuntu server 16.04 และ 18.04

  1. หลังจากเลือก No เมื่อ boot ด้วย แผ่น DVD-ROM ที่ download มาแล้วนั้น
  2. หลังจากนั้นจะเข้าสู่ X Windows โดยอัตโนมัติ > คลิกปุ่ม Use default config
  3. คลิกเมนู Applications Menu > คลิกเลือก Run Program... > พิมพ์ชื่อคำสั่ง gparted
    สำหรับ ubuntu 16.04
    แบ่ง partition ที่ 1 = เท่าไหร่ก็ได้ ชนิด EXT4 และให้เหลือพื้นที่ linux-swap = 1-2 เท่าของ RAM
    สำหรับ ubuntu 18.04
    แบ่ง partition ที่ 1 = เท่าไหร่ก็ได้ ชนิด EXT4 และไม่ต้องมี partition สำหรับ linux-swap แล้ว
  4. คลิกเมนู Applications Menu > คลิกเลือก Terminal Emulation
  5. พิมพ์ bash /livemnt/boot/clonedownpsu12-sritrang-offline.sh กด Enter
  6. รอสักครู่จนเสร็จ จะปิดเครื่องให้เอง
  7. ให้นำแผ่น DVD ออกจากช่อง DVD/CD-ROM Drive แล้วให้เปิดเครื่องเองอีกครั้ง
  8. ไปทำหัวข้อ ตั้งค่า server ครั้งแรก ด้านล่างนี้

สำหรับ ubuntu server 20.04

  1. หลังจากเลือก No เมื่อ boot ด้วย แผ่น DVD-ROM ที่ download มาแล้วนั้น
  2. หลังจากนั้นจะเข้าสู่ terminal

แบบที่ 2 ใช้ชุดคำสั่ง PSU-Installer สำหรับติดตั้งแบบ online

ผู้ใช้งานติดตั้ง ubuntu server เอง เสร็จแล้วทำตามการติดตั้งตามเอกสาร PSU-Installer หัวข้อ ติดตั้ง_psu12-sritrang-cloning_บน_ubuntu


ตั้งค่า server ครั้งแรก

  1. เมื่อเปิดเครื่อง จะพบหน้าจอ ubuntu login:
    พิมพ์ mama <Enter>
    Password : 123456 <Enter> เพื่อเข้าระบบ (ขณะที่พิมพ์ password จะไม่มีอะไรแสดง ไม่ต้องตกใจ เป็นเรื่องปกติ ของ linux เป็นเรื่องของความปลอดภัย)
  2. จะพบหน้าต่าง "Switch to Root User" ให้เลือก
    เลือก Yes เพื่อเข้าทำงาน
    เลือก No เพื่อออก
  3. เมื่อเลือก yes จะมีคำถาม [sudo] password for mama: ให้พิมพ์ 123456 อีกครั้ง (ค่า default ซึ่งต้องเปลี่ยนรหัสผ่านเมื่อใช้งานจริง)
  4. โปรแกรมจะตรวจสอบว่าเป็นการติดตั้งเสร็จใหม่ๆ ก็จะขึ้นหน้าจอให้ใส่ค่าเริ่มต้น
    This is the first time for PSU12-Sritrang Installation.
    Please assigned the following information.
    Enter IP Address for Subnet: คือ เลข network เช่น 192.168.1.0
    Enter IP Address for NetMask: คือ เลขที่บอกขนาด network เช่น 255.255.255.0
    Enter IP Address for Router (Gateway): คือ คือ หมายเลขไอพีของ port ที่เป็นอุปกรณ์ทางออกของ network วงนี้ เช่น 192.168.1.1
    Enter IP Address for This Server: คือ หมายเลขไอพีของ server ตัวนี้
    Enter IP Address for Name Server 1: คือ หมายเลขไอพีของ dns server ตัวแรก ข้อมูลนี้จะส่งไปให้พร้อม dhcp ip ให้แก่ client
    Enter IP Address for Name Server 2: คือ หมายเลขไอพีของ dns server ตัวที่สอง ใช้ซ้ำกับตัวแรกได้ถ้ามี dns server ตัวเดียว ข้อมูลนี้จะส่งไปให้พร้อม dhcp ip ให้แก่ client
  5. เลือก OK โปรแกรมจะไปแก้ไขค่าในแฟ้มต่างๆที่เกี่ยวข้อง และจะ reboot เครื่อง server โดยอัตโนมัติ
    จะนับถอยหลัง 20 วินาที ก่อน reboot ถ้ามีการเปลี่ยนใจ กด ctrl+c ยกเลิกได้
  6. ให้ login เข้าใช้งานอีกครั้ง
  7. แล้วจะเข้าสู่หน้าต่าง "Select ZONE (/root/scripts/mainmenu.sh)" เพื่อกำหนดค่าการทำงาน
    ค่าเริ่มต้น จะมี zone1 มาให้ เราสามารถสร้าง zone2 ถึง zone9 เพิ่มได้ (ดูรายละเอียดด้านล่าง)
    พบคำว่า ZONE1 ...หรือ หลายๆ ZONE แล้วแต่ว่า admin สร้างไว้กี่ ZONE เมือ enter แล้ว ก็จะพบกับ menu มากมาย
  8. จบขั้นตอนการติดตั้ง PSU12-Sritrang server
  9. คำสั่งที่ใช้ในการเปลี่ยน password ของ mama คือ
    ให้กด Esc ออก หรือ เลื่อนไปที่คำว่า Cancel กด Enter เพื่อออกจาก mainmenu
    พิมพ์คำสั่ง passwd mama
    Enter new UNIX password: ใส่ครั้งที่ 1
    Retype new UNIX password: ใส่ครั้งที่ 2 ให้เหมือนครั้งที่ 1
  10. การกลับเข้าสู่โปรแกรมให้พิมพ์คำสั่ง bash mainmenu.sh และกด Enter
  11. อ่านต่อเรื่อง ขั้นตอนหลังจากทำ PSU12-Sritrang server เสร็จแล้ว (อยู่ด้านล่าง ใต้หัวข้อ การใช้งาน PSU12-Sritrang)


คำเตือน ใน PSU12-Sritrang server นี้มี username ที่ต้องเปลี่ยนรหัสผ่านเพื่อความปลอดภัยของท่านเอง ดังนี้

  1. username ชื่อ mama
  2. username ชื่อ papa
  3. username ชื่อ prnews
  4. username ชื่อ sendfile
  5. radius secret (share secret) ใน /etc/freeradius/clients.conf


ขั้นตอนที่เกี่ยวกับการโคลนนิง

เป็นขั้นตอนหลังจากทำ PSU12-Sritrang server เสร็จแล้ว

เตรียม partition เครื่องต้นฉบับ (Windows 7)

  1. ขั้นตอนเตรียม partition เครื่องต้นฉบับ Windows ด้วยแผ่น sysresccd เวอร์ชั่น 5.1.2
    - แนะนำตัวอย่างสร้าง hard disk เพื่อเตรียมต้นฉบับสำหรับเครื่อง computer ที่เป็น Windows
    เลือกสร้าง 2 partition สำหรับ Windows และ data ดังนี้
    /dev/sda1 เป็น primary, ntfs, boot ขนาดตามต้องการ
    /dev/sda2 เป็น extended ที่เหลือทั้งหมด
    /dev/sda5 เป็น logical, ntfs ขนาดตามต้องการ
    - ตัวอย่างสร้าง hard disk ตามข้อกำหนดจำนวน primary partition สูงสุดที่มีได้ ดังนี้
    /dev/sda1 เป็น primary, ntfs, boot ขนาดตามต้องการ
    /dev/sda2 เป็น primary, ntfs, hidden ขนาดตามต้องการ
    /dev/sda3 เป็น primary, fat32, hidden ขนาดตามต้องการ
    /dev/sda4 เป็น extended ที่เหลือทั้งหมด
    /dev/sda5 เป็น logical, ntfs ขนาดตามต้องการ
    /dev/sda6 เป็น logical, linux-ext4 ขนาดตามต้องการ
    /dev/sda7 เป็น logical, linux-swap ขนาด 1-2 เท่าของ RAM

เตรียมต้นฉบับ Windows

  • เราจะต้องทำขั้นตอนย่อย ๆ ดังนี้
    1. ขั้นตอนปรับแต่ง Windows ให้ใช้ user ที่มีสิทธิเทียบเท่า Administrator
    2. ขั้นตอนตั้งค่า User Profile ให้กับ Windows เพื่อให้ผู้ใช้แต่ละคนไม่ต้องใส่ค่าเริ่มต้นของโปรแกรมทุกครั้ง
    3. ขั้นตอนติดตั้งโปรแกรม Cygwin เพิ่มลงใน Windows
    4. ขั้นตอนติดตั้ง script เพื่อจัดการควบคุมเครื่อง เช่น เรื่อง change computer name และ สำหรับ shutdown เครื่องลูก รวมถึงการส่ง send message และ send file ไปยังเครื่องลูก และ ขั้นตอนตั้งค่า PSU-ticker เพื่อเก็บ log การเข้าใช้งานเครื่องลูก
    5. ขั้นตอนติดตั้งโปรแกรม pGina เพิ่มลงใน Windows และตั้งค่าใช้ username จาก ldap server หรือ radius server
    ซึ่งได้เขียนวิธีการไว้ให้แล้ว เตรียม Windows สำหรับ cloning


ตั้งค่าเพื่อให้ server มาควบคุม Windows ก่อน cloning

  • เลือกเมนู windowsconfig
    ถ้าใช้ user ชื่อ john ก็ใส่ชื่อ john แทนคำว่า Administrator
    (เมนู windowsconfig มีใน versionscript 2018-04-25 เป็นต้นไป จำเป็นต้องทำ checkversionandupdatescripts)
  • ตั้งค่าครั้งแรก
    เข้าหน้าจอ zone1: Select your job เลือก sshkeygenforserver กด Enter ไปเรื่อยๆ
    ต่อไปเข้าหน้าจอ zone1: Select your job เลือก sshkeysendtoclient
    จะมีหน้าจอเพื่อให้ใส่ IP Address ของเครื่อง PC ที่เป็นต้นฉบับ
  • ทดสอบการใช้งาน ควบคุมการ shutdown PC
    เข้าหน้าจอ zone1: Select your job เลือก othermenu
    เข้าหน้าจอ zone1: Select your job เลือก Shutdown
    ต่อไปจะมีหน้าจอเพื่อให้เลือก ให้กดแป้น space bar เลือก ALLzone1 หรือ เลือกกี่เครื่องก็ได้, กดแป้น Enter
    ให้ระบุค่าวินาทีที่จะเริ่มทำ


เตรียมต้นฉบับ Linux

  • หรือ click ที่นี่ เพื่ออ่านเรื่อง เตรียมต้นฉบับ Linux Mint สำหรับ cloning

การโคลนนิ่ง

  • การโคลนนิงด้วย PSU12-Sritrang เราจะต้องทำขั้นตอนย่อยๆดังนี้
    1. จะมีขั้นตอน backup ต้นฉบับ Windows โดยการเลือก partition ที่จะนำขึ้นไปเก็บเป็น image file ชนิด .tgz บน PSU12-Sritrang server
    2. จะมีขั้นตอน restore จาก image file ชนิด .tgz ลงเครื่องลูก
    ซึ่งได้เขียนวิธีการไว้ให้แล้ว โดย click ที่นี่ เพื่ออ่านเรื่อง การโคลนนิงด้วย PSU12-Sritrang

คำแนะนำกรณีมี Windows มากกว่า 1 partition


วิธีตั้งบูตสำหรับ Linux Mint


ให้ copy 2 files นี้ (ให้เปลี่ยนเลขตามที่เห็นล่าสุด 3.16.0-38 นี้สำหรับ Linux Mint 17.3)
initrd.img-3.16.0-38-generic
vmlinuz-3.16.0-38-generic
จาก /boot ใน Linux Mint ไปไว้ที่เครื่อง PSU12-Sritrang server ที่ไดเรกทอรี /var/lib/tftpboot/boot/
แล้วแก้ไขไฟล์ /var/lib/tftpboot/zone1/menu-zone1-6.mnu เพื่อให้เป็นเลขตรงกับที่ copy มา แก้ที่บรรทัดนี้
เช่น แก้ไขเลขเดิมเป็นเลขใหม่แล้ว ได้ดังนี้
KERNEL /boot/vmlinuz-3.16.0-38-generic
APPEND initrd=/boot/initrd.img-3.16.0-38-generic root=/dev/sda6 ro

วิธีซ่อน partition ที่เป็น Windows เมื่อตั้งบูต Linux Mint


แก้ไขไฟล์ /etc/grub.d/10_linux

ถ้ามี Windows อยู่ใน partition ที่ 1 และต้องการซ่อน ให้เพิ่มบรรทัดนี้

 echo "        parttool (hd0,1) hidden+"

ถ้ามี Windows อยู่ใน partition ที่ 2 และต้องการซ่อน ให้เพิ่มบรรทัดนี้

 echo "        parttool (hd0,2) hidden+"

ถ้ามี Windows อยู่ใน partition ที่ 3 และต้องการซ่อน ให้เพิ่มบรรทัดนี้

 echo "        parttool (hd0,3) hidden+"


ค้นหาส่วนนี้ ประมาณบรรทัดที่ 104 เพื่อเพิ่มบรรทัดเพื่อซ่อน partition

linux_entry ()
{
...
...
}

ไปที่บรรทัดที่ 132 ให้เพิ่มบรรทัด

  echo "        # Start Wiboon added"
  echo "        parttool (hd0,1) hidden+"
  echo "        parttool (hd0,2) hidden+"
  echo "        parttool (hd0,3) hidden+"
  echo "        # End Wiboon added"

ก่อนบรรทัด if นี้

if [ "$quick_boot" = 1 ]; then
      echo "    recordfail" | sed "s/^/$submenu_indentation/"
fi

จากนั้นต้องรันคำสั่ง sudo update-grub

การควบคุมเครื่องคอมพิวเตอร์ (Control PC)

เราจะทำงานประจำวันในการควบคุมเครื่องคอมพิวเตอร์ด้วยการใช้งานเมนูชื่อ othermenu

  • Shutdown เพื่อ สั่งปิดเครือง ทำดังนี้ เลือก client 1 , 2 , 3 ... หรือ all client แล้วใส่ เวลาเป็นวินาที (60 วินาที = 1 นาที)
  • Restart เพื่อ สั่ง reboot เครื่องใหม่ ทำดังนี้ เลือก client 1 , 2 , 3 ... หรือ all client แล้วใส่เวลาเป็นวินาที (60 วินาที = 1 นาที) ,
  • Sendmessage เพื่อ ส่ง message ให้ client ทำดังนี้ เลือก client 1 , 2 , 3 ... หรือ all client แล้วใส่ข้อความที่ต้องการส่ง (ที่ client จะมี popup windows แสดงข้อความประมาณ 10 วินาที และจะปิดเอง automatic ถ้าต้องการปิดเอง click close ได้เลย)
  • Sendfile เพื่อ ส่ง file จาก server ไป client ทำดังนี้ ทำ 2 ส่วน
    ที่ client (windows)
    - ใช้ program upload file จาก windows ขึ้นไปเก็บ ใน folder
    - ใช้ login prnews : password 123456
    - upload เก็บใน folder sendfile
    ที่ server (psu12-sritrang)
    - เลือก menu Sendfile
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - เลือก file ที่ต้องการ ใช้ปุ่มลูกศร ขึ้นลง ซ้ายขวา ถ้าต้องการ file ใด ให้กด spacebar แล้วกด enter
    - ระบุ drive ปลายทาง (drive c = /cygdrive/c, drive d = /cygdrive/d) แล้วตามด้วย folder เช่น /cygdrive/c/Users/Administrator/Desktop
    ลองทดสอบแล้ว case sensitive ไม่มีปัญหา ตัวใหญ่ตัวเล็กก็ได้
    - รอ program ทำงานจนเสร็จ
  • Getfile เพื่อ รับ file จาก windows ไป server ทำดังนี้ ทำ 2 ส่วน
    ที่ client (windows)
    - ใช้ program upload file จาก windows ขึ้นไปเก็บ ใน folder
    - ใช้ login prnews : password 123456
    - upload เก็บใน folder sendfile
    ที่ server (psu12-sritrang)
    - เลือก menu Getfile
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - ระบุ file หรือ directory ต้นทาง (drive c = /cygdrive/c, drive d = /cygdrive/d) แล้วตามด้วย folder เช่น /cygdrive/c/Users/Administrator/Desktop
    ลองทดสอบแล้ว case sensitive ไม่มีปัญหา ตัวใหญ่ตัวเล็กก็ได้
    - ระบุ drive ปลายทาง (ในที่นี้ default ไว้ที่ /home/prnews/getfile) ท่านสามารถเปลี่ยนเป็น directory ได้ตามต้องการ
    - รอ program ทำงานจนเสร็จ
  • Wakonlan เพื่อ สั่ง start client เปิดเครื่อง (ต้อง set bios ให้ wake on lan enable)
    - เลือก menu Wakeonlan
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - รอดูผล client เปิดเครื่อง
  • Changetime เพื่อ เพิ่ม ลด เวลาการ boot ของ แต่ละ menu (delay menu ปกติ ค่า default = 10 วินาที)
    - เลือก menu Changetime
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - ใ่ส่ตัวเลข menu ที่ต้องการ มีทั้งหมด 9 menu
    - ใส่เวลา (วินาที) ที่ต้องการ delay menu
  • Sendkey เพื่อ ส่ง key ให้ client ทำให้ server เข้า control การทำงานต่าง ๆ เช่น ตามหัวข้อ 1-5,9-10
    (เพื่อแก้ปัญหากรณีที่เราไปเลือกข้อ sshkeygen แล้วกดปุ่ม Y ที่คำถาม overwrite (y/n))
    - เลือก menu Sendkey
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - รอ program ทำงานจนเสร็จ
  • Stopdns เพื่อ ปิด dns (domain name server) ไม่ให้ใช้งาน Internet ชั่วคราวของ client
    - เลือก menu Stopdns
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - รอ program ทำงานจนเสร็จ
  • Startdns เพื่อ เปิด dns (domain name server) ให้ client ใช้งาน Internet ได้ตามปกติ
    - เลือก menu Startdns
    - เลือก client 1 , 2 , 3 ... หรือ all client
    - รอ program ทำงานจนเสร็จ


ขั้นตอนเกี่ยวกับการทำงานในฝั่ง server

การสร้าง zone ใหม่

  1. มีได้ตั้งแต่ zone 1 ถึง zone 9
  2. ใน PSU12-Sritrang เวอร์ชั่นล่าสุด เพิ่มเมนูสำหรับการสร้าง zone ให้แล้ว ชื่อ makezonedialog
    หรือ
    ให้ login ด้วย user ที่มีสิทธิเป็น root (เช่น mama) หรือ sudo su - เพื่อเข้าไปในไดเรกทอรี /root
    หากสร้าง zone 2 ใช้คำสั่งว่า sh makezone.sh 2
    หากสร้าง zone 3 ใช้คำสั่งว่า sh makezone.sh 3
    ... และอื่นๆ เป็นต้น


การสำรองข้อมูลและการย้ายไฟล์เพื่อทำเครื่องใหม่

  1. การสำรองข้อมูลโคลนนิงใน PSU12-Sritrang เพื่อป้องกันเราแก้ไขหรือทำไฟล์ config เสียหาย
    ให้ login ด้วย user ที่มีสิทธิเป็น root (เช่น mama)
    sudo su - เพื่อเข้าไปในไดเรกทอรี /root
    แล้วใช้คำสั่ง sh backup-server.sh
    ตรวจสอบดูจะพบว่าข้อมูลโคลนนิงจะถูกคัดลอกมาเก็บไว้ที่ /root/backup-server แบ่งเป็นโฟลเดอร์ต่างๆ
    เช่น ข้างในโฟลเดอร์ etc/dhcp จะมีไฟล์ เช่น dhcpd.conf_2013-12-17-12:50 เป็นต้น
    etc/dhcp/
    etc/freeradius/
    home/papa/
    var/lib/tftpboot/pxelinux.cfg/
    var/lib/tftpboot/zone{1-9}/ เก็บค่าที่เคยกำหนดการบูต partition ของ PC
  2. การย้ายไฟล์ข้อมูลเพื่อทำเครื่องใหม่ ให้คัดลอกไฟล์ไปเก็บยังที่ปลอดภัย เช่น External USB Hard disk ขนาดใหญ่ ดังนี้
    /root/.ssh/id_?sa* เก็บค่า ssh key gen ของ server
    /root/macinzone เก็บค่า MAC address ที่ป้อนไว้แบบ auto mode
    /etc/dhcp/dhcpd.conf เก็บค่า MAC address คู่กับ IP
    /var/www/cloning/zone{1-9}/* เก็บไฟล์ backup เรียกอีกอย่างว่า image ไฟล์ชนิด .tgz ของโคลนนิงอยู่ที่ /var/www/cloning แยกไปตาม zone
    มีขั้นตอนแนะนำการคัดลอกไฟล์สำคัญ ดังนี้
    ตรวจสอบด้วยคำสั่ง
    fdisk -l
    จะเห็นข้อมูล
    sda คือ hard disk server (ดูให้แน่ใจ)
    ------sda1
    ------sda2
    sdb คือ usb external
    ------sdb1
    ทำการ mount usb external disk
    mkdir -p /mnt/custom
    mount /dev/sdb1 /mnt/custom

    (1/4)คัดลอก dhcpd.conf
    cd /etc/dhcp
    cp dhcpd.conf /mnt/custom

    (2/4)คัดลอก image
    cd /var/www/cloning
    cp -rp zone1 /mnt/custom

    (3/4)คัดลอก id_dsa หรือ id_rsa
    cd /root/.ssh
    cp id_?sa* /mnt/custom

    (4/4)คัดลอกไดเรกทอรี macinzone
    cp -rp /root/macinzone /mnt/custom
    นอกจากนี้เราอาจจะ backup ไฟล์ config ไว้ด้วยเพื่อดูว่าเคยตั้งค่าไว้อย่างไร ให้ทำดังนี้
    cp -rp /root/backup-server /mnt/custom
    ก่อนถอด usb external disk
    umount /mnt/custom
    เมื่อทำเครื่องใหม่เสร็จแล้ว ก็เอาโฟลเดอร์และไฟล์เหล่านี้ (1/4), (2/4), (3/4 และ (4/4) กลับไปใส่ตามโครงสร้างเดิมนั้น


รายงานการใช้เครื่อง

  1. ข้อมูลการทำรายงานการเข้าใช้เครื่อง PC
    - ตำแหน่งที่เก็บไฟล์ข้อมูล /var/www/ticker
    - สามารถนำข้อมูลในไดเรกทอรี /var/www/ticker/datalog นำไปทำเป็นสถิติการเข้าใช้งานได้
    - เขียน shell script และปรับแต่งชื่อคณะที่มีอยู่จริง แล้วรัน shell script จะเป็นสถิติการเข้าใช้งาน ดูตัวอย่างที่ไฟล์ /root/scripts/report*
  2. ได้จัดทำเป็นเว็บ PSU12-Sritrang Summary Report เข้าเบราว์เซอร์แล้วใส่ URL เป็น IP Address ของเครื่อง PSU12-Sritrang

การตั้งค่าดูสถิติจากข้อมูล log record (PSU12-Sritrang Summary Report)

  • เข้าเมนู reporttickergenall -- generate all report เพื่อรันรอบล่าสุด
    หรือ
    สร้าง crontab ของ ubuntu server เพื่อให้รันทุกๆช่วงเวลาที่ต้องการ
    ตัวอย่าง
    พิมพ์ crontab -e
    */20 * * * bash /root/scripts/reporttickergenall.sh


หากเซิร์ฟเวอร์อัปเดตไม่ได้เพราะอะไร

  1. ในสถานที่บางแห่ง server ไม่ได้รับการยกเว้นต้องทำขั้นตอน user authentication ที่เครื่อง server ด้วยจึงออกเน็ตได้ เช่น
    [เมนูที่เกี่ยวกับการ update server] ให้เลือกใช้คำสั่ง lynx หรือ w3m ในการ login ดังนี้
    lynx www.google.com
    ใส่ username และ password (กด Q ออก)
    หรือ
    w3m www.google.com
    กด tab กด enter พิมพ์ user กด enter กด tab กด enter
    พิมพ์ password กด enter กด tab กด enter (กด q ออก)
  2. แล้วเข้า bash mainmenu.sh
    เข้าเมนู ntpdatetimesetting, updateubuntu และ updatescripts

หมายเหตุ
ในบางแห่งยังไม่มีความพร้อม IPv6 ทำให้การอัปเดต Ubuntu หากวิ่งออกไปทาง IPv6 ก็จะอัปเดตไม่ได้ วิธีแก้ไขคือ
sudo edit /etc/apt/apt.conf.d/99force-ipv4
ใส่ข้อมูลบรรทัดข้างล่างนี้
Acquire::ForceIPv4 "true";

วิธีเปลี่ยนรูปภาพที่เห็นตอน Windows Client บูต

  • รูป background ตอน windows client บูต ให้ใช้แฟ้มรูปภาพแบบ jpg ขนาด 640x480
    นำไปทับแฟ้มเดิม /var/lib/tftpboot/sysresccd/psu-12.jpg และ /root/backuppxezone/penguinpom.jpg
  • แก้จากรูปนกเพนกวินเป็นรูปภาพที่ตัวเองเลือกมา เช่น /root/me.jpg
    cp /root/me.jpg /var/lib/tftpboot/sysresccd/psu-12.jpg
    cp /root/me.jpg /root/backuppxezone/penguinpom.jpg


ขั้นตอนการเพิ่มฮาร์ดดิสก์สำหรับเป็นพื้นที่ /var/www

  1. หลังจากปิดเครื่องใส่ฮาร์ดดิสก์เข้าไปเรียบร้อยแล้ว
  2. เปิดเครื่อง log in เข้าระบบด้วยผู้ใช้ mama พาสเวิร์ด 123456 ตอบคำถามให้เรียบร้อย
  3. เมื่อได้ prompt เป็น root@ubuntu:~# ให้พิมพ์คำสั่ง fdisk -l เพื่อดูว่า ฮาร์ดดิสก์ที่ใส่เพิ่มเข้าไปมีชื่อเรียกอย่างไร โปรดส้งเกตข้อความต่อไปนี้ Disk /dev/sdb doesn't contain a valid partition table ซึ่งแปลว่า ฮาร์ดดิสก์ที่ใส่เพิ่มเข้าไปคือ /dev/sdb
  4. พิมพ์คำสั่ง fdisk /dev/sdb
  5. กด n แล้ว enter
  6. กด p แล้ว enter
  7. กด 1 แล้ว enter
  8. enter อีก 2 ครั้งเพื่อยืนยันว่าจะใช้ทั้งลูก (ใช้ได้สำหรับฮาร์ดดิสก์ที่ขนาดเล็กกว่า 2TB)
  9. กด w เพื่อบันทึกการเปลี่ยนแปลง
  10. fdisk -l อีกครั้ง จะพบว่ามี /dev/sdb1 เพิ่มมาแล้ว
  11. mkfs.ext4 /dev/sdb1 เพื่อเตรียมพื้นที่สำหรับใช้งาน
  12. ย้ายข้อมูลจาก /var/www มายังฮาร์ดดิสก์ลูกใหม่ ด้วยคำสั่ง
    mkdir /mnt/newdisk
    mount /dev/sdb1 /mnt/newdisk
    mv /var/www/* /mnt/newdisk

  13. ตรวจสอบด้วยคำสั่ง ls -la /var/www/* เพื่อดูว่ายังมีไฟล์ตกค้างอยู่หรือไม่ หากไม่มีแล้วสั่งคำสั่ง
    umount /mnt/newdisk
  14. แก้ไขแฟ้ม /etc/fstab โดยเพิ่มข้อความว่า /dev/sdb1 /var/www ext4 auto,defaults 0 1 เสร็จแล้วบันทึก
    หรือหากจะใช้ uuid สามารถใช้คำสั่ง blkid /dev/sdb1 เพื่อดูค่า UUID ของ /dev/sdb1 แล้วนำมาใช้ได้เช่นเดียวกัน
  15. สั่ง mount -a และสั่ง mount -l ดูว่ามี /dev/sdb1 ถูก mount ไปที่ /var/www หรือไม่...


การใช้งาน diskless ทำเครื่อง kiosk


เมื่อเครื่องลูก boot แล้วค้างไม่ขึ้นรูป penguin

การแก้ปัญหา

  1. ให้ restart tftpboot ไปที่ mainmenu
  2. ใต้ section ชื่อ start/stop service menu ให้เลือก restarttftpd-hpaserver เพื่อ restart tftpd-hpa server


การเชื่อมต่อกับ RADIUS server

หากเราเตรียม Windows หรือ Linux Mint ต้นฉบับที่มีการใส่โปรแกรมให้ผู้ใช้งานต้อง login ด้วย username ของสถาบัน อาจเป็น ldaps ของ OpenLDAP หรือ ldaps บน Microsoft Active Directory ให้อ่านเรื่องข้างล่างนี้ เพื่อทำการตั้งค่าโปรแกรมนั้นให้เชื่อมต่อ FreeRADIUS ที่อยู่ในเครื่อง PSU12-Sritrang Server นี้ไปยัง database ดังกล่าวได้