การติดตั้งและใช้งาน PSU 12

จาก Wiki Opensource

ยกเลิกการใช้งานแล้ว เนื่องจากล้าสมัย ให้ใช้ psu12-sritrang แทน ที่นี่ http://opensource.cc.psu.ac.th/PSU-Open-server

บันทึกนี้ปรับปรุงล่าสุดเมื่อ 14-05-2555

ดูแลโดย WIPAT


สรรพคุณของ PSU Open server



  1. บูทด้วยแผ่นซีดี sysresccd ดาวน์โหลดได้จาก แผ่น sysresccd รุ่นล่าสุด
    ตั้งค่า network ด้วยคำสั่ง net-setup eth0 หรือหากระบบมี dhcp อยู่แล้ว
    ก็สามารถใช้คำสั่ง dhcpcd eth0 ได้เลย
    เมื่อได้ ip แล้วลองปรับเทียบเวลาด้วยคำสั่ง ntpdate time.psu.ac.th
    ***หากติดตั้งใช้งานนอก ม.สงขลานครินทร์ ให้ตั้งเทียบเวลาด้วยคำสั่ง ntpdate pool.ntp.org

    สั่งทำงาน xwindow ด้วยคำสั่ง startx หากมีปัญหา x windows ไม่ทำงาน
    ให้ใช้คำสั่งแทนว่า wizard เลือก Xorg-mkx Graphical desktop using Xorg mkfx86config (alternative)

    คลิกขวากลาง desktop เลือก System -> GParted เพื่อจัดการ hard disk /dev/sda
    ให้ล้างทำลาย partition ของเดิมที่มีอยู่ทั้งหมด สร้างใหม่ดังนี้
    /dev/sda1 ชนิด primary แบบ ext3 ขนาดตามโตให้มากที่สุด เหลือไว้เป็น linux-swap สัก 2 GB ก็พอ
    /dev/sda2 ชนิด primary แบบ linux-swap ขนาดสัก 2 GB
    *** หากเคยทำ partition ตามแบบที่กำหนดไว้แล้ว แต่ต้องการโคลนนิงทับใหม่ ไม่ต้องเสียเวลาทำ partition ให้ format ใหม่ก็พอด้วยคำสั่ง mkfs /dev/sda1

    หากใช้โปรแกรม parted สมมติว่า /dev/sda1 ขนาด 10 GB และ /dev/sda2 ขนาด 2 GB ให้สั่งทีละบรรทัดดังนี้
    parted -s /dev/sda mklabel msdos
    parted -s /dev/sda unit GB mkpart primary ext3 0 10
    parted -s /dev/sda unit GB mkpart primary linux-swap 10 12
    mkfs.ext3 /dev/sda1
    mkswap /dev/sda2
  2. เตรียมพื้นที่ cloning ด้วยคำสั่ง
    mount /dev/sda1 /mnt/custom
  3. หากอยู่ใน ม.สงขลานครินทร์ ที่ต่ออยู่กับระบบเครือข่ายความเร็วสูง ขอแนะนำให้ติดตั้งผ่าน network ทำการโคลนนิง PSU 12 ด้วยคำสั่ง
    wget http://ftp.psu.ac.th/pub/psu-12/psu-12.tgz -O - | tar -zxp -C /mnt/custom
    ระบบจะถ่ายโอนแฟ้มมาติดตั้งใน PC ใชัเวลาไม่เกิน 10 นาที รอจนเสร็จมารอทำงานต่อที่ prompt

    หากอยู่นอก ม.สงขลานครินทร์ หรือมีปัญหาเรื่องความเร็วของเครือข่าย ขอแนะนำให้ติดตั้งด้วย usd bisk
    ให้ดาวน์โหลดแฟ้ม wget http://ftp.psu.ac.th/pub/psu-12/psu-12.tgz มาเก็บไว้ใน usb disk ใช้พื้นที่ประมาณไม่เกิน 2 GB
    เสียบ usb disk เข้าไปรอจนระบบอ่าน usb disk แล้วสมมติว่าเป็น /dev/sdb
    จัดการให้ระบบอ่าน usb disk ด้วยคำสั่งประมาณว่า mount /dev/sdb1 /mnt/backup
    ทำการโคลนนิง PSU 12 ด้วยคำสั่ง tar -zxpvf /mnt/backup/psu-12.tgz -C /mnt/custom
    ระบบจะถ่ายโอนแฟ้มมาติดตั้งใน PC รอจนเสร็จมารอทำงานต่อที่ prompt
    สั่งยกเลิกให้ระบบไม่อ่าน usb disk ด้วยคำสั่ง umount /mnt/backup
  4. เปลี่ยน uuid พร้อมติดตั้งการบูท grub ด้วยคำสั่ง
    sh /mnt/custom/home/mama/install-grub2.sh
    รอจนได้ข้อความว่า Installation finished. No error reported.
    ปรกติจะรอแค่ประมาณ 1 นาที แต่บางเครื่องต้องรอนานเกิน 10 นาที
  5. ถึงตอนนี้ ให้ปิดการโคลนนิงด้วยคำสั่ง
    umount /mnt/custom
    แล้วก็ให้ reboot เครื่องพร้อมกับดึงแผ่นซีดีออก
  6. เมื่อบูทได้แล้วให้ login เข้าทำงานด้วยชื่อผู้ใช้ mama รหัสผ่าน 123456
  7. หากต้องการใช้ graphic ก็ให้ใช้คำสั่ง startx
  8. หากมีการติดตั้งระบบปฏิบัติการเดิมอยู่แล้ว ให้ปรับปรุง grub เพื่อบูทหลายระบบ
    ด้วยการใช้คำสั่ง sudo update-grub
  9. หากต้องการปรับค่า network ใหม่ ให้แก้ไขที่แฟ้ม /etc/network/interfaces
    ***ใครใช้โปรแกรม vi ไม่คล่องก็ใช้โปรแกรม nano หรือ gedit เพื่อแก้ไขแฟ้ม
    ตัวอย่างคือ sudo gedit /etc/network/interfaces
    หรือ sudo nano -w /etc/network/interfaces
    หรือ sudo vi /etc/network/interfaces

    อย่าลืมตรวจสอบและแก้ไขแฟ้ม /etc/resolv.conf ว่ายังคงถูกต้องด้วย

    แล้วสั่งให้ network ทำงานค่าใหม่ด้วยคำสั่ง
    sudo /etc/init.d/networking restart
    แล้วลองปรับตั้งเวลาให้ตรงกับสากลด้วยคำสั่ง sudo ntpdate time.psu.ac.th
    ***หากติดตั้งใช้งานนอก ม.สงขลานครินทร์ ให้ตั้งเทียบเวลาด้วยคำสั่ง sudo ntpdate pool.ntp.org

    เสร็จแล้วให้รีบูทเครื่องใหม่ ด้วยคำสั่ง sudo reboot
  10. ลองปรับปรุงระบบด้วยคำสั่ง sudo apt-get update
    และตามด้วย sudo apt-get upgrade แล้วให้รีบูทเครื่องใหม่
    แค่นี้ก็มี linux ubuntu server ใช้งานแล้ว
    ให้ลองใช้ ssh จาก pc ตัวอื่นเข้าไปทำงานได้เลย
  11. หลังจากที่การตั้งค่า network ทำงานได้ถูกต้องมั่นใจดีแล้ว
    ให้ login เข้าด้วย mama แล้วสั่งปรับปรุงระบบอัตโนมัติเพื่อแก้ไขค่าต่างๆให้เหมาะสม
    ด้วย คำสั่ง sudo sh easy-config.sh แล้ว reboot เครื่องใหม่ ด้วยคำสั่ง sudo reboot
  12. ระบบที่จัดทำมานี้ ยังไม่ได้มีการเปิด dhcp server ให้แก้ไขแฟ้ม /etc/dhcp3/dhcpd.conf ให้เรียบร้อยก่อน จึงค่อยเปิด dhcp server
    ให้ login เข้าด้วย mama เพื่อจัดการ dhcp ให้แก้ไขแฟ้ม /etc/dhcp3/dhcpd.conf
    ไปที่ท้ายๆของแฟ้ม แก้ไขแถวๆบรรทัด subnet, option routers, option domain-name-servers, next-server
    และบรรทัด host ให้เปลี่ยนเลข hardware ethernet, fiexed-address ตามต้องการ
    *** บรรทัด host ต้องพิม์ด้วยรูปแบบบรรทัดเดียวเท่านั้น และชื่อ PC ต้องมีนำหน้าด้วย zone?_ เสมอ
    *** ถ้าไม่ต้องการปล่อย dhcp แบบ dynamic ก็ปิดส่วนของ pool ทิ้ง
    ตัวอย่างเช่น

    subnet 10.0.5.0 netmask 255.255.255.0 {
    pool {
    option routers 10.0.5.1;
    option domain-name-servers 10.0.77.5, 10.0.77.2;
    range 10.0.5.90 10.0.5.99;
    next-server 10.0.5.2;
    filename "pxelinux.0";
    }
    group {
    option routers 10.0.5.1;
    option domain-name-servers 10.0.77.5, 10.0.77.2;
    next-server 10.0.5.2;
    filename "pxelinux.0";
    option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
    site-option-space "pxelinux";
    option pxelinux.magic f1:00:74:7e;
    option pxelinux.configfile = concat("zone1/",binary-to-ascii(10,8,".",leased-address),".mnu");
    host zone1_PC-32 { hardware ethernet 00:1A:92:CA:F6:73; fixed-address 10.0.5.32;}
    host zone1_PC-101 { hardware ethernet 00:02:E3:4C:84:E7; fixed-address 10.0.5.101;}
    }
    group {
    option routers 10.0.5.1;
    option domain-name-servers 10.0.77.5, 10.0.77.2;
    next-server 10.0.5.2;
    filename "pxelinux.0";
    site-option-space "pxelinux";
    option pxelinux.magic f1:00:74:7e;
    option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
    option pxelinux.configfile = concat("zone2/",binary-to-ascii(10,8,".",leased-address),".mnu");
    host zone2_PC-35 { hardware ethernet 00:20:ed:6a:66:12; fixed-address 10.0.5.35;}
    host zone2_PC-100 { hardware ethernet 00:1C:C0:FE:C4:40; fixed-address 10.0.5.100;}
    }
    }

    เมื่อพร้อมแล้วสั่งเปิด dhcp server ด้วยคำสั่ง sudo update-rc.d dhcp3-server defaults
    เสร็จแล้วสั่งให้ dhcp server ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dhcp3-server start

    หากมีการแก้ไขแฟ้ม /etc/dhcp3/dhcpd.conf อีก
    ต้องสั่งให้ dhcp server ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dhcp3-server force-reload
    ถึงตอนนี้ก็จะได้ dhcp server ใช้แล้ว ให้ลองทดสอบว่าเครื่องลูกข่ายสามารถรับเลข IP ใช้งานได้ถูกต้อง

    ดูการใช้ ip ผ่านเวบได้ที่ http://localhost/cgi-bin/reportdhcp.pl
  13. การทำระบบโคลนนิง ให้ทำตามคำแนะนำตามเวบ การโคลนนิงด้วย PSU-12
  14. แก้ไขรูปตอนบูทผ่าน network ให้ใช้แฟ้มรูปภาพแบบ jpg ขนาด 640x480
    ไปทับแฟ้มเดิม /var/lib/tftpboot/sysresccd/psu-12.jpg
  15. ติดตั้งปรับปรุงระบบบูท Ultimate Boot CD ทำดังนี้
    sudo wget http://ftp.psu.ac.th/pub/ultimate/ubcd511.iso -O /var/lib/tftpboot/ubcd.iso
  16. ปรับปรุง Custom boot cd ด้วยการนำแฟ้มซีดีแบบ iso มาเขียนทับแฟ้ม /var/lib/tftpoot/custom.iso
    ดังตัวอย่างเช่น sudo wget http://ftp.psu.ac.th/pub/ultimate/ubcd511.iso -O /var/lib/tftpboot/custom.iso
  17. ติดตั้งปรับปรุง sysresccd เป็นรุ่นใหม่ ดังตัวอย่างการปรับปรุงเป็น sysresccd 2.7.0
    wget http://ftp.psu.ac.th/pub/sysresccd/systemrescuecd-x86-2.7.0.iso -P /tmp
    mkdir -p /tmp/sysresccd
    sudo mount -o loop /tmp/systemrescuecd-x86-2.7.0.iso /tmp/sysresccd
    sudo cp -v /tmp/sysresccd/isolinux/pxelinux.0 /var/lib/tftpboot/
    sudo cp -v /tmp/sysresccd/sysrcd* /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/initram.igz /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/chain.c32 /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/menu.c32 /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/vesamenu.c32 /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/memdisk /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/isolinux/rescuecd /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/bootdisk/freedos.img /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/bootdisk/hdt.img /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/bootdisk/mhdd.img /var/lib/tftpboot/sysresccd/
    sudo cp -v /tmp/sysresccd/bootdisk/memtestp /var/lib/tftpboot/sysresccd/
    sudo ln -svf /var/lib/tftpboot/sysresccd/sysrcd.* /var/www/sysresccd/
    sudo umount /tmp/sysresccd
  18. ติดตั้งหรือจัดทำระบบบูท PSU-LIB live CD ทำดังนี้
    wget http://ftp.psu.ac.th/pub/psu-lib/psu-lib.iso -N -P /tmp
    mkdir -p /tmp/psulib
    sudo mount -o loop /tmp/psu-lib.iso /tmp/psulib
    sudo sh -c "tar -c -C /tmp/psulib . | tar -xv -C /var/lib/tftpboot/psulib"
    sudo umount /tmp/psulib
  19. ติดตั้งหรือปรับปรุงระบบบูท PSU-32 live CD ทำดังนี้
    wget http://ftp.psu.ac.th/pub/psu-32/psu-32.iso -N -P /tmp
    mkdir -p /tmp/psu32
    sudo mount -o loop /tmp/psu-32.iso /tmp/psu32
    sudo rm -rf /var/lib/tftpboot/psu32/*
    sudo sh -c "tar -c -C /tmp/psu32 . | tar -xv -C /var/lib/tftpboot/psu32"
    sudo umount /tmp/psu32
  20. ติดตั้งหรือปรับปรุงระบบบูท ubuntu 12.04 live CD ทำดังนี้
    wget http://ftp.psu.ac.th/pub/ubuntu-releases/iso/12.04/ubuntu-12.04-desktop-i386.iso -P /tmp
    mkdir -p /tmp/ubuntu
    sudo mount -o loop /tmp/ubuntu-12.04-desktop-i386.iso /tmp/ubuntu
    sudo rm -rf /var/lib/tftpboot/ubuntu/*
    sudo sh -c "tar -c -C /tmp/ubuntu . | tar -xv -C /var/lib/tftpboot/ubuntu"
    sudo umount /tmp/ubuntu
  21. การตั้งค่า radius server ให้ทำตามคำแนะนำ การใช้งาน radius server บน PSU-12
  22. การสำรองข้อมูลแฟ้มระบบโคลนนิง ให้ใช้คำสั่งว่า
    sh backup-server.sh
    แฟ้มข้อมูลต่างๆจะถูกคัดลอกมาเก็บไว้ที่ /home/mama/backup-server