Category: Open Source Software & Freeware

  • WorkShop : Server Monitoring

    “อาว Server ตายตอนไหนไม่เห็นจะรู้เลย โหลดเยอะละม้าง หรือไม่ก็แรมหมด เสถียรไหมไม่รู้สิ อาวเมื่อคืน disk หมดหรอกเหรอ สงสัย Backup อยู่ม้าง”

    ถ้าเรามีระบบ Monitor ที่ดีพบคงสามารถตอบคำถามเหล่านี้ได้ง่ายขึ้น
    และไม่ต้องเจอเหตุการณ์เดิม ๆ ซ้ำ ๆ อีกต่อไป

    มาถึงอีก 1 workshop เคยเขียนไปแล้วรอบหนึ่ง แต่ตอนนั้นสอนแค่ครึ่งวัน ได้แค่ลง Nagiosql ยังไม่ได้ทำอะไรเป็นชิ้นเป็นอันสักเท่าไหร่ รอบนี้เลยจัดเต็ม 2 วัน ถ้ามีเนื้อหาผิดพลาดประการใดแจ้งได้เลยครับ เดี๋ยวจะแก้ไขให้ครับ (งานร้อน ^.^)

    Workshop Outline
    ftp://ftp.psu.ac.th/pub/psu-monitor/workshop-outline.pdf

    VirtualBox Installation

    เครื่องที่ใช้ในการทดสอบ (Oracle VM VirtualBox)
    *แนะนำให้เปิดกับโปรแกรม version ล่าสุด
    Monitor
    ** User : workshop , Password : 123456
    Linux-Server
    ** User : monitor , Password : 123456
    MS-Server
    ** User : administrator, Password : 123456

    รายละเอียด URL
    Monitor
    Linux-Server
    MS-Server
    http://ftp.psu.ac.th/pub/psu-monitor/workshop.ova

    โดยจะแบ่งเป็น 11 ตอนโดยแยกเป็น 11 Blog ดังนี้

    ตอนที่ ชื่อตอน
    ตอนที่ 1 การติดตั้งและการตั้งค่าเบื้องต้น Nagios บน Ubuntu 14.04 LTS
    ตอนที่ 2 การติดตั้ง NagiosQL บน Ubuntu 14.04 LTS
    ตอนที่ 3 วิธีการตั้งค่าและการใช้งาน NagiosQL บน Ubuntu 14.04 LTS
    ตอนที่ 4 การติดตั้งและการตั้งค่าเบื้องต้น NagiosGraph บน Ubuntu 14.04 LTS
    ตอนที่ 5 วิธีการตั้งค่า NRPE เพื่อใช้งานกับ NagiosQL บน Ubuntu 14.04 LTS
    ตอนที่ 6 การติดตั้ง NRPE บน Ubuntu 14.04
    ตอนที่ 7 การติดตั้ง NRPE บน Windows 2012 R2
    ตอนที่ 8 การติดตั้งโปรแกรมและการตั้งค่าเบื้องต้น Cacti บน Ubuntu 14.04 LTS
    ตอนที่ 9 การติดตั้ง snmpd และการตั้งค่า shorewall บน Ubuntu 14.04 LTS
    ตอนที่ 10 การติดตั้ง snmp service และการตั้งค่า firewall บน Windows 2012 R2
    ตอนที่ 11 เรียนรู้วิธีการใช้งาน Cacti เพื่อ Monitor Server
    บทความเพิ่มเติม
    ยังไม่มี

     

  • แนะนำ ffDiaporama โปรแกรมนำภาพถ่ายมาทำภาพยนตร์ (Movie creator)

    แนะนำ ffDiaporama โปรแกรมนำภาพถ่ายมาทำภาพยนตร์ (Movie creator)

    ffdiaporama-logo

    Movie creator from photos and video clips with ffDiaporama

    ตัวอย่าง http://ftp.psu.ac.th/pub/cc/2557cop1/ccadmintour2014.mp4 (392M)

    โปรแกรม ffDiaporama เป็นโปรแกรมทำภาพยนตร์จากภาพถ่ายและคลิปวิดีโอ มีทั้งเวอร์ชั่นที่ใช้งานบน linux และ Windows มีเว็บไซต์อยู่ที่นี่ URL: http://ffdiaporama.tuxfamily.org/

    โดยทั่วไปวิธีติดตั้งโปรแกรมเพิ่มใน linux mint คือ เลือก Menu > Software Manager
    แต่โปรแกรม ffDiaporama นั้นมันเป็นเวอร์ชั่น 1.5 ซึ่งยังขาดความสามารถในการแปลง (render) จัดได้ว่ามันไม่ทันสมัย (outdated!) จึงจำเป็นต้องติดตั้งด้วยวิธี command line จากเว็บไซต์ของผู้พัฒนาโปรแกรมโดยตรง (Launchpad on the ffDiaporama-stable PPA)

    ทำคำสั่งนี้เพื่อเพิ่มชื่อ server ต้นทางที่เก็บโปรแกรม
    sudo add-apt-repository ppa:ffdiaporamateam/stable
    จะได้ผลลัพธ์แบบนี้
    mint@mint-PSU ~ $ sudo add-apt-repository ppa:ffdiaporamateam/stable
    You are about to add the following PPA to your system:
    This PPA supplies stable packages of ffDiaporama 2.1

    For more information on ffDiaporama see : http://ffdiaporama.tuxfamily.org
    More info: https://launchpad.net/~ffdiaporamateam/+archive/stable
    Press [ENTER] to continue or ctrl-c to cancel adding it
    เมื่อกด Enter แล้วจะได้แบบนี้
    Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –homedir /tmp/tmp.JiNHX5a3T2 –no-auto-check-trustdb –trust-model always –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 77296259
    gpg: requesting key 77296259 from hkp server keyserver.ubuntu.com
    gpg: key 77296259: public key “Launchpad PPA for ffDiaporama Team” imported
    gpg: Total number processed: 1
    gpg:               imported: 1  (RSA: 1)

    สั่งอัปเดตรายการซอฟต์แวร์
    sudo apt-get update
    ติดตั้งโปรแกรม
    sudo apt-get install ffdiaporama
    จะได้ผลลัพธ์แบบนี้
    mint@mint-PSU ~ $ sudo apt-get install ffdiaporama
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    The following packages were automatically installed and are no longer required:
    ffdiaporama-data libqimageblitz4
    Use ‘apt-get autoremove’ to remove them.
    The following extra packages will be installed:
    libavcodec-extra libqt5clucene5 libqt5help5 libqt5svg5
    qt5-image-formats-plugins
    The following NEW packages will be installed:
    ffdiaporama libavcodec-extra libqt5clucene5 libqt5help5 libqt5svg5
    qt5-image-formats-plugins
    0 upgraded, 6 newly installed, 0 to remove and 33 not upgraded.
    Need to get 20.4 MB of archives.
    After this operation, 29.5 MB of additional disk space will be used.
    Do you want to continue? [Y/n]
    ให้กด Enter เพื่อติดตั้ง (ขนาด19.7MB)

    เพิ่มลูกเล่น
    sudo apt-get install ffdiaporama-texturemate
    sudo apt-get install ffdiaporama-openclipart

    References:
    http://ffdiaporama.tuxfamily.org/?page_id=10472

  • How to: PSU OpenVPN Ubuntu 14.04/15.04/15.10/Linux Mint 17/17.1/17.2

    • ติดตั้ง net-workmanager-openvpn

    Screenshot from 2014-06-24 10:53:42

    • คลิก Ubuntu Button แล้วพิมพ์ netw เลือก Network Connections

    Screenshot from 2014-06-24 11:15:39

    • ได้ดังภาพ คลิก Add

    Network Connections_002

    • ได้ดังภาพ

    Screenshot from 2014-06-24 09:58:04

    • เลือก OpenVPN แล้วคลิก Create…

    Screenshot from 2014-06-24 10:00:06

    Screenshot from 2014-06-24 10:11:33

    • คลิก Advanced เลือกดัังภาพ

    Screenshot from 2014-06-24 13:34:37

    • กด OK ออกมาแล้วคลิกที่ IPv4 Settings ตั้งค่าตามภาพ

    Screenshot from 2014-06-24 10:21:34

    • คลิก IPv6 Settings ตั้งค่าตามภาพ

    Screenshot from 2014-06-24 13:43:54

    • กลับมาแท็บ VPN คลิก Save… ได้ดังภาพ คลิก Close

    Screenshot from 2014-06-24 10:11:58

    • เหลือบมองมุมขวาบนจะมีรูปภาพ Screenshot from 2014-06-24 13:46:19 หรือ Screenshot from 2014-06-24 14:11:36 ให้คลิกที่รูปนี้แล้วเลือก VPN Connection -> PSU

    Screenshot from 2014-06-24 13:48:27

    • รอจนมีข้อความดังภาพปรากฎที่มุมบนขวา เป็นอันเสร็จ

    Screenshot from 2014-06-24 13:54:27สำหรับ Linux Mint 17

    • ติดตั้ง network-manager-openvpn-gnome แทน นอกนั้นเหมือนกัน

    เพิ่มเติม เพื่อให้สามารถคลายแฟ้ม vpn_package_for_all_xp-vista-7.exe ได้ต้องติดตั้งโปแกรมเหล่านี้เพิ่มเติม p7zip-rar, p7zip-full, unace, unrar, zip, unzip, sharutils, rar, uudeview mpack, arj, cabextract, file-roller โดยพิมพ์คำสั่ง

    sudo apt-get install p7zip-rar p7zip-full unace unrar zip unzip sharutils rar uudeview mpack arj cabextract file-roller

    จบจริงๆ … ขอให้สนุกครับ

  • วิธีการเขียน Script ตรวจสอบ Server Performance สำหรับเครื่อง Linux Server

    ขอนำเสนอ PHP Script และ Terminal linux program สำหรับใช้ Monitor Server Performance สำหรับ Ubuntu Linux ดังนี้

    คำสั่งตรวจสอบ Hostname

    hostname -A

    วิธีตรวจสอบ Traffic จาก ifconfig ด้วย PHP5 Script

    <?php
    //Net Traffic
    exec("ifconfig | grep 'RX bytes'",$net);
    $neteth0 = explode(":",$net[0]);
    $netin1 = explode(" ",$neteth0[1]);
    $netin = $netin1[0];
    $netout1 = explode(" ",$neteth0[2]);
    $netout = $netout1[0];
    unset($net);
    unset($neteth0);
    unset($netin1);
    unset($netout1);
    exec("cat net.db",$nethistory);
    $hnet = explode(":",$nethistory[0]);
    $diff = time()-$hnet[0];
    $cnetin = round(($netin-$hnet[1])/$diff,0);
    $cnetout = round(($netout-$hnet[2])/$diff,0);
    unset($nethistory);
    exec("echo ".time().":".$netin.":".$netout." > net.db");
    echo date("d-m-Y H:i:s",time())." Traffic In : ".$cnetin.", Traffic Out : ".$cnetout;
    ?>

    วิธีการตรวจสอบ CPU จาก /proc/cpuinfo ด้วย PHP5 Script

    <?php
    //CPU
    exec("cat /proc/cpuinfo | grep MHz | head -1",$clockrate);
    exec("cat /proc/cpuinfo | grep MHz | wc -l",$cpucount);
    $clockrate1 = explode(":",$clockrate[0]);
    $maxcpu = trim($clockrate1[1])*$cpucount[0];
    unset($clockrate);
    unset($clockrate1);
    unset($cpucount);
    exec("vmstat 1 2 | tail -1 | awk '{ print $15 }'",$pcpufree);
    $pcpuuse = 100-$pcpufree[0];
    $cpuuse = round(($pcpuuse*$maxcpu)/100,0);
    unset($pcpufree);
    echo "MAX CPU Speed : ".$maxcpu." MHz\n";
    echo "CPU Use : ".$cpuuse." MHz (".$pcpuuse." %)\n";
    ?>

    วิธีการตรวจสอบ Memory จาก free -m ด้วย PHP5 Script

    <?php
    //MEM
    exec("free -m | grep Mem: | awk '{print $2\":\"$3}'",$ram);
    $ramraw = explode(":",$ram[0]);
    $ramtotal = $ramraw[0];
    $ramuse = $ramraw[1];
    $pramuse = round(($ramuse/$ramtotal)*100,0);
    unset($ram);
    unset($ramraw);
    echo "MAX RAM : ".$ramtotal." MB\n";
    echo "MEMORY Use : ".$ramuse." MB (".$pramuse." %)\n";
    ?>

    คำสั่งตรวจสอบ Connection (ยกตัวอย่างเฉพาะ port 80)

    netstat -na | grep 192.168.99.1:80 | wc -l

    คำสั่งตรวจสอบ Unique IP (ยกตัวอย่างเฉพาะ port 80)

    netstat -na | grep 192.168.99.1:80 | sed 's/::ffff://g' | awk '{print $5}' | cut -f 2 -d ' ' | cut -f 1 -d ':' | sort | uniq | wc -l

    จะเห็นได้ว่าเราสามารถเขียน script monitor ได้หลากหลายมุมมอง ได้ตามต้องการเลยครับ

  • การสร้างระบบ Load Balance Web Server ด้วยวิธีการ URL Redirect

    เราสามารถสร้างระบบ Load Balance Web Server ด้วยวิธีการ URL Redirect
    โดยสามารถสร้างด้วยภาษาใดก็ได้ แต่จะขอยกตัวอย่างด้วยภาษา PHP ได้ง่าย ๆ ดังนี้

    ตัวอย่างไฟล์ server-status ที่ได้ทำการ monitor web server มาเรียบร้อยแล้ว

    webserver1.testlab UP
    webserver2.testlab DOWN
    

    – เราสามารถใช้คำสั่งดึงไฟล์เพื่อคัดเฉพาะ Web Server ที่สามารถใช้งานได้จริง ๆ ดังนี้

    exec("cat /tmp/server-status | grep UP",$redirect);

    – จากนั้นจะทำการ นำรายการ server ทั้งหมดซึ่งอยู่ในตัวแปร $redirect มาทำการสุ่ม ดังนี้

    $random = rand(0,(count($redirect)-1);

    – ก็จะทำเอาเลข server ที่ random ได้ไปเข้ากระบวนการ Redirect ดังนี้

    $server = explode(" ",$redirect[$random]);
    header('HTTP/1.1 301 Moved Permanently');
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');
    header('Location: https://'.$server[0].'/');
    unset($server);
    

    ในกรณีที่ต้องการสร้างหน้ารอให้ทำการตรวจสอบว่าในกรณีที่ไม่มีเครื่องให้บริการให้แสดงข้อความ ตัวอย่างดังนี้

    if(count($redirect)==0){
       echo "Server Unavailable or Maintenance Period";
    }

    ดังที่กล่าวมาทั้งหมดข้างต้นสามารถรวมเป็น script ไฟล์ PHP ได้ดังนี้

    <?php
    exec("cat /tmp/server-status | grep UP",$redirect);
    if(count($redirect)==0){
       echo "Server Unavailable or Maintenance Period";
    }else{
       $random = rand(0,(count($redirect)-1));
       $server = explode(" ",$redirect[$random]);
       header('HTTP/1.1 301 Moved Permanently');
       header('Cache-Control: no-store, no-cache, must-revalidate');
       header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');
       header('Location: http://'.$server[0].'/');
       unset($server);
    }
    unset($redirect);
    ?>

    *สามารถอ่านวิธีสร้างไฟล์สำหรับ monitor web serverได้จาก บทความนี้ http://sysadmin.psu.ac.th/2014/06/19/monitor-web-server-wget-shell-script-daemon/

  • อยากได้ linux mint ไปใช้ ต้องทำอย่างไร

    หากท่านต้องการแผ่นดีวีดี linux mint เพื่อนำไปทดลองใช้งาน หรือ ติดตั้งลงฮาร์ดดิสก์ สำหรับท่านที่อยู่ต่างประเทศ แนะนำให้ไป download จากเว็บไซต์ http://www.linuxmint.com/ แต่สำหรับพวกเราที่อยู่ใน ม.อ. หรือ ในประเทศไทย สามารถเลือก download ได้ที่ https://licensing.psu.ac.th/ เลือก Search Results for: linux mint

    เวอร์ชั่นปัจจุบันที่เขียน blog ในวันนี้ เป็นเวอร์ขั่นที่ออกเมื่อ 31 พ.ค. 2557
    linux mint 17 อยู่ที่ https://licensing.psu.ac.th/linux-mint-17-qiana-released/

    การเลือกแผ่นดีวีดีที่ต้องการ

    • หากต้องการการแสดงผลที่หวือหวา วูบวาบ ก็เลือก cinnamon
    • หากต้องการให้ compat กับเกมส์ Windows ที่จะนำมาลงผ่านโปรแกรม Wine ของ linux ก็เลือก mate
    • หากเครื่องคอมฯมี RAM มากกว่า 4 GB ก็ใช้รุ่น 64 bit

    ไฟล์ iso ที่จะ Download มีชื่อแบบนี้

    • linuxmint-17-cinnamon-dvd-32bit.iso
    • linuxmint-17-cinnamon-dvd-64bit.iso
    • linuxmint-17-mate-dvd-32bit.iso
    • linuxmint-17-mate-dvd-64bit.iso

    การเขียนแผ่นดีวีดี linux mint จากไฟล์ iso เมื่อ download ไฟล์ iso ของ linux mint มาได้แล้ว

    • สำหรับ linux ก็ให้ใช้โปรแกรมสำหรับเขียนแผ่นดีวีดี ชื่อ Brasero จาก Menu > Sound & Video > Brasero > เลือก burn
    • สำหรับ Windows 7, 8, 8.1 คลิกขวาและเลือกคำสั่ง burn

    นอกจากนี้ ผมยังได้ทำแผ่นพิเศษขึ้นเพื่อแนะนำซอฟต์แวร์โอเพนซอร์สที่น่าใช้และติดตั้งเพิ่มได้จาก linux mint ไม่ได้ไป download จากที่เว็บไหนเลย หากสนใจวิธีทำก็อ่าน เบื้องหลังการทำแผ่น ครับ) หากต้องการ download ไฟล์ iso ของ linux mint ฉบับติดตั้งโปรแกรมเพิ่มแล้ว ที่นี่ครับ
    http://ftp.psu.ac.th/pub/linuxmint/linuxmint-17-psu-cc-32bit.iso
    md5sum: ตรวจสอบจากไฟล์ http://ftp.psu.ac.th/pub/linuxmint/linuxmint-17-psu-cc-32bit.iso.md5

    และมีของแถมเป็นแผ่นพับ (Bochure) คำแนะนำการใช้แผ่นดีวีดี linux mint
    http://opensource.cc.psu.ac.th/wiki-opensource/images/b/bb/Bochure-linuxmint-2-for-printing-only.pdf

    สุดท้าย ผมมีเอกสารแนะนำการใช้งาน linux mint อยู่บ้างที่นี่ครับ http://opensource.cc.psu.ac.th/Linuxmint

     

  • การทำแผ่นดีวีดี linux mint ฉบับติดตั้งโปรแกรมเพิ่มแล้ว

    ผมแจกฟรีแผ่น DVD linux mint 17 ฉบับติดตั้งโปรแกรมเพิ่ม ที่ห้องโถงอาคารศูนย์คอมพิวเตอร์ ผมก็คิดว่าน่าจะนำความรู้มาเผยแพร่ไว้ตรงนี้ด้วย ลองอ่านดูนะครับ

    free-linuxmint-17-psu-cc-32bit

    เริ่มต้น ผมก็ไปเอาไฟล์ linuxmint-17-mate-dvd-32bit.iso จากเว็บไซต์ https://licensing.psu.ac.th/linux-mint-17-qiana-released/ ซึ่งไฟล์ที่วางไว้ในเว็บไซต์นี้ก็ไป download มาจากของแท้ที่เมืองนอกนะครับ นำมาติดตั้งเป็น Virtual Machine ในโปรแกรม Oracle VM VirtualBox โดยสร้าง username คือ mint password คือ mint และตั้งให้ auto login

    จากนั้นก็ปรับแต่งการอัปเดตเวอร์ชั่นให้อัปเดตจากเซิร์ฟเวอร์ในมหาวิทยาลัย (ในเมืองไทย) โดยการแก้ไขที่ไฟล์ official-package-repositories.list ด้วยคำสั่งดังนี้
    sudo vi /etc/apt/sources.list.d/official-package-repositories.list
    โดยเปลี่ยน 2 แห่ง คือ
    1.เปลี่ยนจาก archive.ubuntu.com เป็น th.archive.ubuntu.com
    2.เปลี่ยนจาก packages.linumint.com เป็น mirrors.psu.ac.th/linuxmint-packages

    ต่อไปก็ตั้งค่า time zone ดังนี้
    Menu > Administration > Time and Date > Click to make changes
    Time zone: Asia/Bangkok

    ต้องการให้ผู้ได้รับแผ่นดีวีดีนี้ไปใช้งานได้สะดวก จึงเพิ่มคำสั่งนี้เพื่อให้ไม่ต้องถาม password ทุกครั้งที่จะเพิ่มโปรแกรม
    sudo sh -c “echo ‘mint ALL=NOPASSWD: ALL’ >> /etc/sudoers”

    ผู้ใช้งานส่วนใหญ่จะใช้ฟอนต์ภาษาไทย TH SarabanPSK ผมก็ช่วยลงให้ซะเลย
    sudo wget ftp://ftp.psu.ac.th/pub/thaifonts/sipa-fonts/*ttf -P /usr/share/fonts/truetype/thai

    ติดตั้งโปรแกรมต่างๆเพิ่มดังนี้
    สำหรับแสดงรายชื่อ hardware
    sudo apt-get install lshw-gtk
    สำหรับตรวจเช็คสถานะ LAN card
    sudo apt-get install ethtool
    สำหรับดึงข้อมูลเว็บเพจมาดำเนินการ
    sudo apt-get install curl
    สำหรับใช้งานเบราว์เซอร์ google chrome
    sudo touch /etc/default/google-chrome
    แล้วไป download จากเว็บไซต์ของ google อาจทำด้วยคำสั่งข้างล่างนี้

    wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
    sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 
    sudo apt-get update 
    sudo apt-get install google-chrome-stable

    ติดตั้งโปรแกรมต่างๆ ผ่านทาง Menu > Software Sources
    1. Tuxmath  : เกมส์คิดเลขเร็ว
    2. Tuxpaint  : เด็กหัดใช้เมาส์วาดภาพและตัวปั้มหมึก
    3. Shutter  : screen capture tool
    4. RecordMyDesktop and gtk-recordmydesktop  : บันทึกหน้าจอเป็นวิดีโอ
    5. winff  : แปลงชนิดไฟล์ของไฟล์เสียง
    6. audacity  : ตัดหรือต่อไฟล์เสียง
    7. gparted  : สร้างหรือเปลี่ยนแปลง disk partition
    8. openshot  : ตัดหรือต่อวิดีโอ ไฟล์เสียง เพื่อทำเป็นวิดีโอ
    9. libavcodec-extra-54  :  เพื่อให้ใช้ codec ได้มากชนิด
    10. filezilla  :  โปรแกรม ftp/ftps/sftp/ client
    11. inkscape :  โปรแกรมทำสื่อสิ่งพิมพ์ จัด art work หน้ากระดาษ (แทน ilustrator)

    ติดตั้งโปรแกรม ffDiaporama ต้องใช้ command line เพื่อเอาเวอร์ชั่นล่าสุด
    12.ffdiaporama  : โปรแกรมนำไฟล์รูปภาพมาจัดทำเป็น Movie พรีเซ็นเตชั่นมีเพลงประกอบได้
    sudo add-apt-repository ppa:ffdiaporamateam/stable
    sudo apt-get update
    sudo apt-get install ffdiaporama
    sudo apt-get install ffdiaporama-texturemate
    sudo apt-get install ffdiaporama-openclipart

    ติดตั้งโปรแกรมที่ต้องใช้ ผ่านทาง Menu > Package Manager
    1. frei0r-plugins
    2. frei0r-plugins-doc

    สร้าง shortcut icon ที่ desktop
    1. TV (ดูทีวีฟรี)
    2. Tux Math
    3. Tux Paint
    4. Google Chrome
    5. version.txt

    ติดตั้ง shell script สำหรับทำงานเฉพาะอย่าง
    1. hardware-list.sh
    2. myjob.sh
    3. nic-led.sh
    และทุกไฟล์ใส่ ได้ set ค่า flag เป็น executable

    ตอนนี้ก็มาถึงความต้องการโปรแกรมที่ใช้ในการทำแผ่นดีวีดีขึ้นมาใหม่ เรียกว่า remastersys โดยติดตั้งตามคำสั่งดังนี้
    wget -N -P /tmp http://ftp.psu.ac.th/pub/psu-remastersys/psu-remastersys.tgz
    tar -zxpvf /tmp/psu-remastersys.tgz -C /tmp
    cd /tmp/psu-remastersys
    sudo sh install-psu-remastersys.sh
    wget -O – http://www.remastersys.com/ubuntu/remastersys.gpg.key | sudo apt-key add –
    แก้ไขค่า option ให้เหมาะสม
    sudo vi /etc/remastersys.conf
    ================================
    LIVEUSER=”mint”
    LIVECDLABEL=”Linux Mint 17 PSU CC”
    CUSTOMISO=”linuxmint-17-psu-cc-32bit.iso”
    BACKUPSHOWINSTALL=”1″
    ================================

    แล้วก็มาถึงขั้นตอนสุดท้าย คือ สั่งสร้าง linuxmint-17-psu-cc-32bit.iso ดังนี้
    เข้าไปที่ Menu > Administration > Remastersys
    แล้วก็รอสัก 15 นาที
    จากนั้นให้เข้าไปเอาไฟล์ไปใส่ใน ftp server
    เข้าไปที่ Menu > Terminal
    cd /home/remastersys/remastersys/
    scp linuxmint-17-psu-cc-32bit.iso user@your_ftp_server

    ทั้งหมดก็มีเรื่องราวประมาณนี้ครับ ขอแถมสักนิดว่า หากจะทำเป็นแผ่นที่บูตแล้วแสดง presentation ก็ให้นำไฟล์ไปวางไว้ใน /home/mint/.config/autostart/
    เช่น
    mint@mint-PSU ~ $ ls -l /home/mint/.config/autostart/
    total 12
    -rw-r–r– 1 mint mint  88 มิ.ย.   5 13:23 myjob.desktop
    -rw-r–r– 1 mint mint 487 มิ.ย.   5 13:23 myjob.sh

    mint@mint-PSU ~ $ cat /home/mint/.config/autostart/myjob.desktop
    [Desktop Entry]
    Type=Application
    Name=myjob
    Exec=/home/mint/.config/autostart/myjob.sh

    mint@mint-PSU ~ $ cat /home/mint/.config/autostart/myjob.sh
    #!/bin/bash
    sleep 3
    SOURCE_FILE=”prstart.sh”
    TEMP1=”/tmp/myjob-temp1.$$”
    wget http://ftp.psu.ac.th/pub/custom/${SOURCE_FILE} -O ${TEMP1}
    if [ -s ${TEMP1} ] ; then
    exec sh ${TEMP1}
    fi

    คิดว่าท่านจะสามารถอ่านและทำได้ครับ ขอบคุณครับ

  • การทดสอบประสิทธิภาพ Web Server ประเภท Static Page : Apache2 vs Lighttpd บนเครื่อง Ubuntu 14.04 LTS

    เครื่องมือในการทดสอบ
    Web Server OS : Ubuntu 14.04 LTS
    Client OS : Windows 8.1
    Software : Apache Jmeter 2.11

    Environment :
    Web Server
    Ubuntu Server (Oracle VM VirtualBox)
    Intel Haswell 1.6GHz (2.30GHz) 4 core RAM 512G
    Client
    Windows 8.1 (Physical Notebook)
    Intel Haswell 1.6GHz (2.30GHz) Intel Haswell 4 core RAM 8G
    – รันอยู่บนเครื่องเดียวกัน
    – ใช้ค่า Default ไม่มีการ Tuning เพิ่มเติม

    วิธีการทดสอบ

    1. ทำการตั้งค่า Apache ให้อยู่คนละ Port กับ Lighttpd2014-05-23_063514

    2. ทำการสร้าง Static Page โดยมีตำแหน่ง และ HTML Code (index.html) ดังนี้

    Apache : /var/www/html/index.html
    สำหรับ Apache ให้ rename ไฟล์เดิมก่อนเนื่องจากมีไฟล์อยู่แล้วด้วยคำสั่งดังนี้

    sudo mv /var/www/html/index.html /var/www/html/index.html_bak
    

    Lighttpd : /var/www/index.html

    <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Webserver test</title>
    </head>
    <body>
    This is a webserver test page.
    </body>
    </html>

    3. เปิดโปรแกรม Jmeter ทำการ Add Thread Group, HTTP Request, View Results Tree และ Graph Results
    2014-05-23_063658

    4. ทำการทดสอบโดยชี้ไปที่ Web Site ของ Web Server ที่ต้องการ โดยมีตัวอย่างดังรูป
    (จะสังเกตุว่ามีการตั้งค่า Timeout = 1500 ms เพื่อป้องกันโปรแกรมค้าง เนื่องจาก Web Server ไม่ยอมตอบ)
    2014-05-23_105637

    *หมายเหตุ ระหว่างรัน Test สามารถตรวจสอบการทำงานของเครื่อง Web Server โดยติดตั้งโปรแกรมชื่อ htop ดังนี้

    sudo apt-get install -y htop
    

    พิมพ์คำสั่ง htop จะปรากฎหน้าจอดังรูป2014-05-23_065732

    การตั้งค่าทดสอบ

    Number of Threads (users) : 500,1000,2000,2500,3000
    Ramp-Up Period (in seconds) : 1
    Loop Count : 1

    ตัวอย่างการทดสอบ

    จำนวน Users ที่เปิด Page ไม่สำเร็จ

    Number of Threads (users) 500 1000 2000 2500 3000
    Apache2 0 28 424 2232 Jmeter Hang
    Lighttpd 0 0 3 1418 Jmeter Hang

    ซึ่งการทดสอบแบบไม่มีการ Tuning อาจจะไม่ Fair สำหรับแต่ละ Web Server (แม้ผลจะออกมาชัดว่า Lighttpd เหนือกว่า) เพราะยังไม่ได้มีการดึงประสิทธิภาพหรือตั้งค่า Limit Connection ให้รองรับได้สูงสุด และยังมีในส่วนของ Cache หลาย ๆ แบบที่จะช่วยให้ไม่ต้องประมวลผล Page เดิม ๆ ซ้ำบ่อย ๆ แต่ถึงกระนั้นวิธีนี้เป็นวิธีการหนึ่งที่ใช้ในการทดสอบก่อนจะมีการใช้งานจริง เพื่อทำให้เราเตรียมการได้ทันท่วงที เช่นทดสอบแล้วมีบ้าง SQL ที่ใช้เวลานานกว่าปกติ หรือ database connection limit

    สำหรับ Jmeter นั้นสามารถทำอะไรได้อีกมากมาย สามารถเขียน Script ในลักษณะของ Batch Job เพื่อดู Flow การทำงานของทั้ง Web Database และอื่น ๆ ถ้าใครอยากศึกษาเพิ่มเติมสามารถหาอ่านได้จาก Google ทั่ว ๆ ไปครับ

    Reference :
    [1] http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html