Tag: ubuntu

  • การตั้งค่า Interface IPv6 สำหรับเครื่อง Ubuntu Server

    “อยากให้ Ubuntu Server เปิดใช้ IPv6 ต้องทำอย่างไร”

    • สำหรับวิธีเปิดใช้งาน IPv6 บน Ubuntu จะขอยกตัวอย่าง Ubuntu 14.04 โดยทำการตั้งค่า Interface ในส่วนของ IPv6 ดังนี้
      1. เปิดไฟล์ /etc/network/interfaces
        sudo vim /etc/network/interfaces
      2. ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (xxx คือ censor นะครับ)
        iface eth0 inet6 static
                pre-up modprobe ipv6
                address 2001:xxxxxxxx:101
                netmask 64
                gateway 2001:xxxxxxxx::1
        
      3. สั่ง Restart เครื่องเป็นอันเรียบร้อยครับ
        sudo reboot
      4. สามารถตรวจสอบผ่านคำสั่ง ifconfig ได้ดังนี้ครับ
        ifconfig
    • อย่าลืมตรวจสอบ Firewall ด้วยนะครับ แต่โดยปกติ Ubuntu จะไม่มี Firewall ตั้งแต่เริ่มติดตั้ง อาจจะต้องระวังในกรณีที่ Gateway ของหน่วยงานยังไม่ได้ตั้งค่า IPv6 Firewall อาจโดน ssh จากข้างนอกได้ครับ (ลองศึกษาเพิ่มเติมเกี่ยวกับ Shorewall IPv6 หรือ ip6tables ดูครับ) ซึ่งจะมีผลกับเครื่องที่จดชื่อแล้วซะมากกว่า เพราะจะให้ Scan หา IPv6 เยอะ ๆ เพื่อจะเข้าผ่าน IPv6 ตรง ๆ น่าจะลำบากอยู่
  • รวมวิธีการเปิดใช้งาน IPv6

    “บทความนี้เป็นบทความเกี่ยวกับวิธีการเปิดใช้งาน  IPv6 สำหรับบริการที่เป็น Web Server รวมถึงวิธีการตรวจสอบ Client และ Server ว่าพร้อมหรือยังที่จะใช้งาน  IPv6”


    Blog 1 : การตรวจสอบสถานะการใช้งาน IPv6 สำหรับ Client และ Server


    Blog 2การตั้งค่า Interface สำหรับ Windows Server


    Blog 3 : การตั้งค่า Interface สำหรับ Ubuntu Linux


    Blog 4 : การตั้งค่า Interface สำหรับ CentOS/Redhat Linux


    Blog 5 : การตั้งค่า Apache Web Server สำหรับ Ubuntu Linux


    Blog 6 : การตั้งค่า Lighttpd Web Server สำหรับ CentOS Linux


    Blog 7 : การตั้งค่า Nginx Web Server สำหรับ Ubuntu Linux


  • Dual Boot Ubuntu 14.04 & Windows 8.1 in UEFI

    • เหตุการณ์สมมติจึงใช้ VirtualBox
    • ตั้งค่า VirtualBox ดังภาพ (ขอข้ามวิธีการสร้างเครื่องใหม่บน VirtualBox ไปเลยนะครับ คิดซะว่าชำนาญแล้ว โดยขนาด HDD ที่ต้องการ 100GB เป็นอย่างน้อย) โดยเลือก option ที่เขียนว่า Enable EFI (special OSes Only) และในช่อง  Boot Order: ให้เลื่อนเป็น Optical แล้วตามด้วย Hard Disk แล้วกด OK
      uefi1
    • เมื่อเปิดเครื่องจะได้หน้าจอดังภาพ แสดงว่า BIOS ของเรากลายเป็น UEFI เรียบร้อยแล้ว
      uefi2
    • เลือกแผ่น Ubuntu 14.04 ให้ต่อเข้ากับ Device
      uefi3
    • reset เครื่อง
      uefi4
    • เลือก *Try Ubuntu without installing
      uefi5
    • รอจนได้ Windows Manager แล้วดับเบิ้ลคลิก Install Ubuntu 14.04.2 LTS บน Desktop เข้าสู่กระบวนการติดตั้ง Ubuntu ปกติทั่วไปสามารถใช้ Next Technology ได้เลยไปเรื่อยๆ จนถึงหน้า Installation type ให้เลือกหัวข้อ Something else แล้วกด Continue
      uefi6
    • คลิก New Partition Table… คลิก Continue จะได้ดังภาพ
      uefi7
    • คลิกคำว่า free space แล้วคลิกเครื่องหมายบวก (+) สร้าง Partition ขนาด 512MB มีชนิดเป็น EFI boot partition (ควรดูด้วยว่าพาทิชั่นที่ได้เมื่อสร้างเสร็จมีขนาด 512MB จริงๆ โดยใน VM ที่สร้างนี้ตอนสร้างใส่ไป 514MB) และกด + เพื่อสร้าง swap ในตัวอย่างกำหนดแรมไว้ 4GB สามารถสร้าง Swap เท่าแรมได้เลย และ / (root ขนาด 50GB) ตามลำดับโดยจะเหลือพื้นที่เปล่าไว้ด้วย
      uefi8
    • ภาพแสดงพาทิชั่นเมื่อสร้างเสร็จแล้ว
      uefi9
    • คลิก Install Now และคลิก Continue ที่เหลือหลังจากนี้สามารถกลับสู่โหมด Next Technology ได้เลยจนจบ
      uefi10
      uefi11
    • สิ้นสุดคลิก Restart Now
      uefi12
    • เอาแผ่นออกแล้วกด Enter (ปกติจะเอาออกให้อัตโนมัติ)
      uefi13
    • ลองบูตดูจนได้หน้า Log In
      uefi14
    • เลือก Devices แล้ว Optical Drives แล้วเลือกแผ่น Windows 8.1
      uefi15
    • คลิกรูปเฟืองที่มุมบนขวา เลือก Shutdown แล้วคลิก Restart
      uefi16
    • เมื่อ VM กำลัง Shutdown ให้สังเกตุดูว่า โลโก้ Ubuntu หายไปให้รีบ ESC ทันทีจะได้ดังภาพ
      uefi17
    • เลื่อน Cursor ลงมาที่ Boot Manager แล้วกด Enter จะได้ดังภาพ
      uefi18
    • เลื่อน Cursor ลงมาที่คำว่า EFI DVD/CDROM แล้วจะมีข้อความว่า Press any key to boot from CD or DVD….
      uefi19
    • เมื่อกดปุ่มใดๆ จะเข้าสู่วินโดวส์เพื่อเริ่มติดตั้ง
      uefi20
    • เมื่อได้หน้าเลือกภาษาให้เลือกดังภาพ แล้วคลิก Next
      uefi21
    • คลิก Install now
      uefi22
    • คลิกเครื่องหมายถูกหน้าข้อความ I accept the license terms คลิก Next
    • เลือก Custom: Install Windows only (advanced)
      uefi23
    • จะเห็นพื้นที่ดิสก์ที่เราใช้งานอยู่ในตอนนี้จะเห็นว่ามีที่เหลืออยู่ 48GB ที่เป็น Unallocated Space (และถูกเลือกโดยอัตโนมัติไว้อยู่แล้ว) ในตัวอย่างนี้เราจะสร้างเพียงไดรฟ์ซีเพียงอย่างเดียวให้คลิก Next
      uefi24
    • เข้าสู่การติดตั้ง Windows รอไปจนเสร็จ…
      uefi25
    • เมื่อติดตั้ง Windows  เสร็จแล้วจะถูกบังคับเข้าวินโดวส์ทันที Ubuntu หายไปแล้ว… เพราะ Boot Manager ของ Ubuntu ถูกเขียนทับไปนั่นเอง ให้ตั้งค่า Windows ให้เสร็จเรียบร้อยก่อนแล้วชัตดาวน์เครื่อง เลือก Devices แล้วเลือก Optical Drives เลือกแผ่น Ubuntu อีกครั้ง เมื่อได้ Menu ให้เลือก *Try Ubuntu without installing
      uefi26
    • เมื่อได้หน้า Windows Manager กด Ctrl+alt+T พิมพ์ข้อความดังนี้  และในขั้นตอนนี้ต้องแน่ใจว่าเครื่องเชื่อมต่อ Internet ได้เรียบร้อยแล้ว
      sudo add-apt-repository ppa:yannubuntu/boot-repair
      sudo apt-get update
      sudo apt-get install -y boot-repair
    • แล้วต่อด้วยคำสั่ง sudo boot-repair จะได้ดังภาพ
      uefi27
    • คลิกที่ Recommended repair จะได้ดังภาพ ให้รอไปจนเสร็จ
      uefi28
    • เมื่อได้หน้าจอดังภาพกด OK แล้วสั่งรีบูตได้เลยuefi29
    • เมื่อบูตขึ้นมาจะได้หน้าเมนูที่คุ้นเคยสามารถเลือกได้ว่าจะเข้าอะไร
      uefi30
    • จบขอให้สนุกครับ

    อ้างอิงเพิ่มเติม

    https://help.ubuntu.com/community/Boot-Repair

  • How to restore a system after accidentally removing all kernels?

    เหตุการณ์สมมติ… ทำไงดี??? เผลอรันคำสั่ง

    sudo apt-get remove --purge linux-image-3.19.0-*

    ได้ผลดังรูป (ดันกด y แล้ว enter อีกนะ)
    Capture1งานงอก …ลอง ls /boot เผื่อว่ายังมี Kernel เหลืออยู่บ้าง
    Capture2
    คุณพระ ไปหมดแล้ว… ตกใจ!!! reboot สิ… (กรั่ก ๆ)
    (หากไม่ตกใจจน reboot ไปซะก่อนสามารถพิมพ์คำสั่ง sudo apt-get install linux-image-generic ได้เลย)
    Capture3 เงิบ!!! เหลือแต่ Memory Test….

    แก้ไขโดยหาแผ่น Ubuntu Desktop ควรเป็นรุ่นเดียวกับรุ่นที่ติดตั้ง 12.04, 14.04 เป็นต้น (แต่แนะนำ 14.04 ถึงแม้จะกู้เครื่องที่เป็น 12.04)

    • เมื่อบูตให้เลือก Try Ubuntu รอจน Desktop ขึ้นมาเรียบร้อย เปิด Terminal ขึ้นมา (กด ctrl+alt+t)
    • พิมพ์คำสั่ง sudo fdisk /dev/sda -l (กรณีนี้รู้แน่ๆ ว่าติดตั้งบน /dev/sda)
      Capture4
    • จากรูปมีสอง patition ที่น่าจะติดตั้ง Ubuntu เอาไว้ คือ /dev/sda1 และ /dev/sda5 ถ้าใช้แผ่น 12.04 จะไม่สามารถ mount ส่วนของ /dev/sda5 ได้เพราะมองไม่เห็น patition ที่เป็น LVM ตั้งแต่แรก แต่แผ่น 14.04 มองเห็น
      Capture5
    • เมื่อคลิกที่ 103 GB Volume สามารถมองเห็นไฟล์ทั้งหมด
      Capture6
    • ลองเปิดไฟล์ใน etc/fstab ดูไฟล์ข้างในว่า partition อยู่อย่างไร
      Capture7
    • พบว่า /dev/sda1 เป็น boot และ /dev/mapper/ubuntu–vg-root เป็น / และ /dev/mapper/ubuntu–vg-swap_1 เป็น swap เราสนใจแค่ boot และ /
    • สั่ง mount patition ตามลำดับต่อไปนี้
      sudo mount /dev/mapper/ubuntu--vg-root /mnt
      sudo mount /dev/sda1 /mnt/boot
      sudo mount --bind /dev /mnt/dev
      sudo mount --bind /sys /mnt/sys
      sudo mount --bind /proc /mnt/proc
      Capture1111
    • สั่งคำ chroot ไปยัง /mnt สังเกตว่าหลังจากสั่งคำสั่ง chroot แล้ว prompt จะเปลี่ยนเป็น root@ubuntu:/#
      sudo chroot /mnt
      Capture9
    • ให้ตรวจสอบแฟ้ม /etc/apt/sources.list ว่าใช้ repository ไหนด้วย หากไม่ได้ใช้ th.archive.ubuntu.com หรือ mirror.psu.ac.th หรือ mirrors.psu.ac.th หรือ mirror1.ku.ac.th ให้เปลี่ยนเป็น th.archive.ubuntu.com จากนั้นทดสอบ nslookup th.archive.ubuntu.com สำหรับคนที่ resolve ได้ (เรายินดีด้วย) ข้ามข้อ ๑๐ ไปได้เลย
      Capture11
    • แก้ไขแฟ้ม /etc/hosts
      สำหรับเครื่องที่อยู่นอกมหาวิทยาลัยเพิ่มข้อความว่า
      192.100.77.186 th.archive.ubuntu.com
      สำหรับเครื่องที่อยู่ภายในมหาวิทยาลัยเพิ่มข้อความว่า
      192.168.101.34 th.archive.ubuntu.com
       
    • สั่ง
      apt  install linux-image-generic
      Capture1112
    • รอจนเสร็จได้ข้อความสุดท้ายประมาณว่า  Setting up linux-image-generic (… ให้แก้ไขไฟล์ /etc/hosts โดยเอาบรรทัดที่เพิ่มเข้าไปออก
    • พิมพ์คำสั่งต่อไปนี้ตามลำดับ
      exit
      sudo umount /mnt/proc /mnt/dev /mnt/sys /mnt/boot /mnt
      sudo reboot
    • เย่บูตได้..
    • จบขอให้สนุกครับ
  • Dialog cannot open tty-output

    dialog บน Oracle Enterprise Linux และ Ubuntu ไม่เหมือนกัน (ทำไมล่ะ…ไม่ทราบครับ)

    สร้างสคริปต์ชื่อ file.sh มีข้อความว่า

    #!/bin/bash
    FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
    --title "Please choose a file to delete" --fselect /tmp/ 14 48)
    echo $FILE

    บน Ubuntu รันได้ผลลัพธ์
    Ubuntu's Dialogแต่บน Oracle Enterprise Linux
    Oracle Enterprise LInux' Dialog-_-

    ต้องเปลี่ยนสคริปต์มีสองแบบ
    แบบแรก
    #!/bin/sh
    dialog --ascii-lines --title "Delete a file" --stdout \
    --title "Please choose a file to delete" --fselect /tmp/ 14 48 2>/tmp/file.tmp
    echo $(cat /tmp/file.tmp)

    แบบที่สอง
    #!/bin/bash
    FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
    --title "Please choose a file to delete" --fselect /tmp/ 14 48 2>&1>/dev/tty)
    echo $FILE

    ผลลัพธ์ของทั้งสองแบบให้ผลเหมือนกันคือ
    Oracle Enterprise Linux's Dialog2จบ..วันนี้ห้วนไปหน่อย ขอให้สนุกครับ

  • Mozilla Thunderbird & Google Calendar

    1. ติดตั้ง extension 2 ตัวใน Thunderbird ได้แก่ Lightning และ Provider for Google Calendar ดังรูป

    Screenshot from 2015-01-12 13:55:01
    extension; lightning, Provider for Google Calender

    2. รีสตาร์ท Thunderbird จะพบปุ่ม Screenshot from 2015-01-12 13:47:30 อยู่ทางมุมบนขวา
    3. เข้า gmail.psu.ac.th ล็อคอินให้เรียบร้อย คลิก  Screenshot from 2015-01-12 14:25:17 แล้วเลือก Calendar
    4. ที่หน้า Calendar คลิก Screenshot from 2015-01-12 13:42:32 เลือก Setting

    5. คลิก Calenders ทีี่มุมซ้ายบน Screenshot from 2015-01-12 13:43:43

    6. เลือกปฏิทินที่ต้องการ

    Screenshot from 2015-01-12 13:44:58
    Available Calendar

    7. ตรวจสอบว่าใช่ปฏิทินที่ต้องการหรือไม่ดูที่ ช่อง Calender Owner ว่าเป็นอันเดียวกับ Username ที่ล็อคอินเข้า gmail

    Screenshot from 2015-01-12 13:45:26
    Calendar Owner

    8. เลื่อนดูด้านล่างในส่วนของ Private Address:

    Screenshot from 2015-01-12 13:45:49
    Private Address

    9. คลิกขวาที่ ICAL เลือก Copy Link Location

    Screenshot from 2015-01-12 13:47:1010. กลับมาที่ Thunderbird กดปุ่ม Screenshot from 2015-01-12 14:37:32 เพื่อเปิดปฏิทิน
    11. คลิกขวาที่ช่องว่างฝั่งซ้ายมือใต้คำว่า Calendar เลือก New Calendar

    Screenshot from 2015-01-12 13:48:07
    New Calendar

    12. ได้หน้าต่าง Create New Calendar เลือก Google Calendar กด Next

    Screenshot from 2015-01-12 13:56:5913. กด Ctrl-v เพื่อ paste URL ของปฏิทินที่ Copy มาในข้อก่อนหน้า

    Screenshot from 2015-01-12 13:57:2114. กด back 1 ครั้งแล้วกด Next ใหม่ (อันนี้น่าจะเป็นบักของ Ubuntu 14.10)

    Screenshot from 2015-01-12 13:57:3915. กด Next
    16. จะมีหน้าต่างเพื่อยืนยันตัวตนของ Google ปรากฎขึ้นมา

    Screenshot from 2015-01-12 14:00:1217.  กด Sign in จะได้อีกหน้าต่างดังรูป กดยอมรับ

    Screenshot from 2015-01-12 13:59:0518. จะมีหน้าให้เลือกปฏิทินที่ต้องการอีกครั้งกด Next

    Screenshot from 2015-01-12 13:59:30
    Lacate your calendar

    19. จะมีหน้าให้ ยืนยันตัวตน และหน้าเพื่อขอสิทธิ์การเข้าถึง อีกรอบกดให้ Sign in และยอมรับ

    20. กด Finish

    Screenshot from 2015-01-12 14:00:3721. ก็จะได้ปฏิทินเพิ่มมาตามต้องการ

    Screenshot from 2015-01-12 14:51:2822. ทั้งหมดนี้ทำบน Ubuntu 14.10 บน Windows ก็น่าจะทำเหมือนกัน
    23. สามารถเพิ่มลบเหตุการณ์ผ่าน Thunderbird ได้เลยไม่ต้องเข้าเว็บอีก …
    24. จากที่ทดสอบหนึ่ง Profile ของ Thunderbird สามารถมี Google Calendar ได้เพียง account เดียว
    25. ขอให้สนุกครับ

  • เปลี่ยน Certificate!?

    เนื่อง Certificate *.psu.ac.th จาก Comodo เดิมซึ่งกลายเป็น Cert. ที่จัดว่า WEAK แล้ว ทางเจ้าหน้าที่เครือข่ายจึงได้ขอ Cert. ใหม่มา ที่ Strong ขึ้น 🙂 ก็ต้องมานั่งเปลี่ยน Cert. ในเครื่องที่ให้บริการขั้นตอนดังนี้

    • Download Cert. ใหม่มาซึ่งต้องติดต่อขอไปที่ Net@dmin โดยผ่านช่องทางของ help.psu.ac.th
    • ไฟล์ที่จะโหลดมาใช้งานมีทั้งหมด 3 ไฟล์ได้แก่ STAR_psu_ac_th.ca-bundle, STAR_psu_ac_th.crt และ STAR_psu_ac_th_key.key เมื่อดาวน์โหลดมาเสร็จแล้วให้เอาไปแทนที่เก่าได้เลย ในตัวอย่างนี้จะเก็บไว้ที่ /etc/ssl/private
    • ทีนี้ มาดู config เก่าของ apache2

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerName bahamut.psu.ac.th
    ServerAdmin cc-server-admin@group.psu.ac.th
    DocumentRoot "/var/www/html"
    ErrorLog ${APACHE_LOG_DIR}/bahamut.ssl_error_log
    TransferLog ${APACHE_LOG_DIR}/bahamut.ssl_access_log
    LogLevel warn

    SSLEngine on
    SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
    SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
    SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle

    RewriteEngine On
    RewriteRule /avl https://licensing.psu.ac.th

    <Directory /var/www/licensing>
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
    </Directory>
    </VirtualHost>
    </IfModule>

      • จะเห็นว่าไฟล์ชื่อไม่ตรงอยู่ไฟล์หนึ่งคือ STAR_psu_ac_th.key ก็เปลี่ยนชื่อให้ตรง เป็นอันเสร็จ
      • แต่ … เนื่องจากเป็น Cert. ใหม่ เพื่อเพิ่มความแข็งแรง เจ้าหน้าที่เครือข่ายจึงได้กำหนด Passphrase ไว้ด้วย ต้องแก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf ในบรรทัดที่เขียนว่า SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase ให้แก้ /usr/share/apache2/ask-for-passphrase เป็น /etc/ssl/private/passphrase-script แล้วสร้างแฟ้ม /etc/ssl/private/passphrase-script มีข้อความว่า

    #!/bin/sh
    echo "passphrase ที่ได้รับแจ้งจาก Net@dmin"

      • chmod +x /etc/ssl/private/passphrase-script และทดสอบ script ด้วยว่าผลลัพธ์ที่ได้ตรงกับ passphrase ที่ Net@dmin แจ้งมา
      • restart apache2 ด้วยคำสั่ง sudo service apache2 restart ถ้า passphrase ที่ใส่ไว้ในแฟ้ม passphrase-script ถูกต้องจะ restart สำเร็จ
      • เป็นอันเสร็จ

    สิ่งที่ต้องแก้เพื่อให้ได้ A+ ในการทดสอบกับเว็บ https://www.ssllabs.com/ssltest/analyze.html

    • แก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf โดยแก้ไข/เพิ่ม ข้อความดังต่อไปนี้

    SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:
    RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    SSLHonorCipherOrder on
    SSLProtocol all -SSLv3 -SSLv2
    SSLCompression off

    • sudo a2enmod headers เพื่อให้ module headers ของ apache2 ทำงาน
    • แก้ไขแฟ้มของไซต์ที่เปิด ssl ไว้ จากตัวอย่างนี้คือ /etc/apache2/sites-enabled/licensing-ssl.conf โดยเพิ่มข้อความว่า
      Header add Strict-Transport-Security "max-age=15768000;includeSubDomains"
    • ตัวอย่าง

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerName licensing.psu.ac.th
    ServerAdmin cc-server-admin@group.psu.ac.th
    DocumentRoot "/var/www/html/avl"
    ErrorLog ${APACHE_LOG_DIR}/licensing.ssl_error_log
    TransferLog ${APACHE_LOG_DIR}/licensing.ssl_access_log
    LogLevel warn
    SSLEngine on
    Header add Strict-Transport-Security "max-age=15768000;includeSubDomains"
    SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
    SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
    SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle
    </VirtualHost>
    </IfModule>

    • restart apache2 ด้วยคำสั่ง sudo service apache2 restart
    • ทั้งหมดนี้ทำ บน Ubuntu 14.04.1
    • ผลของการตั้งค่าตามนี้ จะทำให้ผู้ใช้ที่ยังใช้งาน Windows XP และ IE6 ไม่สามารถใช้งานเว็บไซต์ได้
    • จบ ขอให้สนุกครับ

    จุดสังเกตุเมื่อเปลี่ยน certificate แล้ว
    ก่อนเปลี่ยนบน Chrome เบราเซอร์
    https-sharedrive-chrome-before-update-cert

    หลังเปลี่ยนบน Chrome เบราเซอร์
    after

    ที่มา:

    http://www.bauer-power.net/2014/04/how-to-enable-http-strict-transport.html#.VJJ8pXtKW7A

    http://www.hackido.com/2009/10/quick-tip-auto-enter-password-for-your.html

  • วิธีติดตั้ง Window Manager แบบน้อยที่สุดบน Ubuntu Server

    เนื่องจากต้องการสร้าง VirtualBox ขนาดเล็กสุดๆเพื่อใช้เตรียมทำ Workshop แต่จะไม่สะดวกสำหรับผู้อบรมที่ไม่คล่องเรื่องคำสั่งบน Linux มากนัก อยากให้ Copy-Paste ได้บ้าง จึงต้องหาวิธีลง Window Manager ให้พอใช้ได้

    เริ่มต้นจากติดตั้ง ubuntu server version ที่ต้องการ จะใช้พื้นที่ประมาณ 890 MB คราวนี้เลือก Window Manager ที่เล็กที่สุดแต่ใช้งานง่าย นั่นคือ LXDE หรือ lubuntu-desktop ปัญหาอยู่ที่ว่า ถ้าลงแบบ Default มันจะลากเอาสิ่งที่ไม่ต้องการมามากมาย ทำให้ขนาดที่ใช้ขยายจาก 890 MB ไปถึง 2.5 GB ซึ่งใหญ่เกินไป

    จึงไปค้นหาวิธีดูพบว่าให้ทำดังนี้
    1. sudo apt-get install –no-install-recommends lubuntu-desktop
    2. เมื่อติดตั้งเสร็จ ให้ reboot เครื่องหนึ่งรอบ ก็จะเข้าสู่ lubuntu แบบน้อยที่สุด ใช้พื้นที่ไปเพียง 1.3 GB
    3. ปัญหาต่อมา หากใช้บน VirtualBox ก็จะติดปัญหาเรื่อง Screen Resolution ที่บีบบังคับไม่ให้เปลี่ยนแปลงได้ง่ายๆ จึงต้อง ติดตั้ง Guest Additions ลงไป แต่ เนื่องจากเป็นการลงแบบเล็กที่สุด จึงไม่ติดตั้งพวก Build Tools มาด้วย จึงต้องใช้คำสั่งนี้ก่อน
    sudo apt-get install build-essential
    4. จากนั้น จึงติดตั้ง Guest Additions ต่อไป แล้วปรับ Screen Resultion ได้ตามต้องการ

  • เรียนรู้วิธีการใช้งาน Cacti เพื่อ Monitor Server

    ท่านสามารถอ่านวิธีติดตั้ง Cacti ได้ที่นี่
    http://sysadmin.psu.ac.th/2014/07/24/cacti-setup/

    วิธีการติดตั้ง SNMP Query MIB เพิ่มเติม รวมถึง MIB ของโปรแกรม SNMP Informant ซึ่งใช้ติดตั้งเป็น Agent ของ Windows Server โดยมีขั้นตอนดังนี้

    วิธีการเพิ่มเติม snmp query template สำหรับ cacti

    1) ทำการ move resource เป็น resource_old

    sudo mv /usr/share/cacti/resource /usr/share/cacti/resource_old

    2) ทำการสร้าง folder resource ขึ้นมาใหม่และทำการโหลดไฟล์ resource ใหม่จาก web มาวาง

    cd /usr/share/cacti
    sudo mkdir resource
    cd resource
    sudo wget http://ftp.psu.ac.th/pub/psu-monitor/resource.tar.gz
    sudo tar -xvzf resource.tar.gz

    3) ทำการเพิ่ม Template ลบไปฐานข้อมูลโหลด Download xml ทำการติดตั้งดังนี้

    cd /home/workshop/Desktop/
    wget http://ftp.psu.ac.th/pub/psu-monitor/template.zip
    unzip template.zip

    ทำการ Import ไฟล์ xml ทั้งหมด

    – ตัวอย่างวิธีการ Import Template2014-07-25_053233

    4) ทำการตั้งค่า Linux Host Template ใหม่ดังนี้2014-07-25_055104

    ทำการ Add Associated Graph Templates และ Data Queries ดังนี้ (หลังจากกด save มันจะไม่ดีดไปไหน แต่ save แล้วครับ)2014-07-25_055500

    5) ทำการตั้งสร้าง Windows Host Template ใหม่ดังนี้2014-07-25_0559182014-07-25_060021

    ทำการ Add Associated Graph Templates และ Data Queries ดังนี้

    2014-07-25_060447

    สำหรับเครื่องที่เป็น Linux เปิดเฉพาะ snmp ก็เพียงพอ แต่เครื่องที่เป็น Windows ต้องลงโปรแกรม informant เพิ่มเติมเพื่อเสมือนเป็น agent ไปดึงค่าจากเครื่องไปสร้าง MIB พิเศษเพื่อให้ Cacti เข้ามาดึงข้อมูล โดยโปรแกรมสามารถ Download ได้ที่นี่

    http://www.wtcs.org/informant/files/informant-std-17.zip

    6) เพื่อไม่ต้อง ตั้งค่า snmp บ่อย ๆ ให้ทำการแก้ไข snmp default ดังรูป2014-07-25_061716

    วิธีการเพิ่ม device

    1) ทำการ Add Device ดังนี้2014-07-25_061537

    2) ใส่ข้อมูลต่าง ๆ ของ Device2014-07-25_062211

    3) หลังจากนั้นให้สังเกตุคำว่า success และมีจำนวน items แสดงว่าเราสามารถดึงค่าได้แล้ว ในกรณีที่ยังไม่ได้ เมื่อให้ทำการทดสอบโดยกดเลือก Verbose Query ทุกครั้ง ถ้ายังไม่ success แนะนำว่าอย่าเพิ่งสร้าง Graph ครับ เพราะเราไม่รู้ว่าเครื่องมีกี่ CPU กี่ interface แรมเท่าไหร่ จึงไม่สามารถสร้าง Graph ล่วงหน้าได้2014-07-25_062403

    – เมื่อกดปุ่ม Verbose Query ระบบจะทำการดึงข้อมูลมาให้ดูดังรูป2014-07-25_062639

    วิธีการสร้าง Graph ประเภท Linux Machine

    – ทำการ Create Graph ในหน้า device ดังนี้

    2014-07-25_062937

    – ให้เลือกทีละหัวข้อจากนั้นทำการกดปุ่ม Create2014-07-25_063048 2014-07-25_0631362014-07-25_0638422014-07-25_063251 2014-07-25_063421 2014-07-25_063456 2014-07-25_063733

    วิธีการสร้าง Graph ประเภท Windows Machine

    – ให้ลองสร้าง Device ประเภท Windows

    – ทำการ Create Graph ในหน้า device ดังนี้ (หลังเลือก Graph Template Name หลังสุดนะครับ ถ้าเลือกเป็น Pack อาจเยอะจนตาลาย)

    – ให้เลือกทีละหัวข้อจากนั้นทำการกดปุ่ม Create2014-07-25_065458 2014-07-25_0656102014-07-25_0659412014-07-25_0700162014-07-25_0656422014-07-25_0700572014-07-25_065813 2014-07-25_065834    2014-07-25_070208

    วิธีการเพิ่ม Graph Tree

    2014-07-25_070622 2014-07-25_070652 2014-07-25_070731

    – เราสามารถดูกราฟได้ที่หัวข้อ Graph2014-07-25_070852

    จบแล้วครับสำหรับการใช้งาน cact ใครอยากลอง template ส่วนอื่น ๆ สามารถลองได้ครับ