Author: wiboon.w

  • เรื่องน่ารู้เกี่ยวกับ start/stop dhcp server ทันทีที่เปิด server

    พวกเราที่ใช้งาน ubuntu server และที่ติดตั้ง dhcp server เพื่อทำหน้าที่แจกจ่าย IP Address ให้กับเครื่อง client ก็มักจะเลือกใช้ dhcp server ของ ISC (www.isc.org) ซึ่งก็จะติดตั้งได้ง่ายๆผ่านคำสั่ง apt-get install (ผมละคำว่า sudo ที่ต้องใส่นำหน้าคำสั่งเอาไว้ในฐานที่เข้าใจ)

    แต่เดิมใน ubuntu 10.04 จำได้ว่าวิธีติดตั้ง dhcp server ก็จะใช้คำสั่ง apt-get install dhcp3-server แล้วต่อมาเมื่อเปลี่ยนเป็น ubuntu 12.04 วิธีการติดตั้งก็เปลี่ยนไปเป็น apt-get install isc-dhcp-server

    คราวนี้ก็มาถึงเรื่องที่อยากมาเล่าสู่กันฟัง คือ พวกเราจะรู้ไม๊ครับว่า หากเราต้องการจะ start หรือ stop dhcp server จะทำอย่างไร และโจทย์ของผมคือ ในการทำ dhcp server ทดสอบผมไม่ต้องการให้ dhcp server มันทำงานทันทีที่เปิดเครื่อง จะต้องทำอย่างไร

    เราเคยรู้มาว่า อ๋อ ก็ใช้คำสั่ง update-rc.d ถ้าต้องการเปิดใช้งาน ก็สั่ง update-rc.d isc-dhcp-server defaults ถ้าไม่ต้องการให้ทำงานทันทีที่เปิดเครื่อง ก็สั่ง update-rc.d -f isc-dhcp-server remove แบบนี้ เชื่อไม๊ครับว่า หลังจาก reboot เครื่องแล้ว dhcp server มันก็ทำงานอยู่ โดยใช้คำสั่งในการเช็ค คือ

    ps ax | grep dhcp

    แสดงผลลัพธ์แบบนี้

    mama@ubuntu:~$ ps ax | grep dhcp
     2491 ?        Ss     0:00 /usr/sbin/dhcpd -f -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf eth0

    หรือ

    service isc-dhcp-server status

    แสดงผลแบบนี้

    mama@ubuntu:~$ sudo start isc-dhcp-server
    isc-dhcp-server start/running, process 2491

    เอาหละสิ แล้ว dhcp server มันเปิดขึ้นมาได้อย่างไร ค้นๆดูก็พบว่ามันมีไดเรกทอรี /etc/init/ ที่จะเป็นที่เก็บโปรแกรมสมัยใหม่ที่เรียกกันว่าแบบ upstart แทนการใช้งานแบบ SysVinit (/etc/init.d/) และก็เจอไฟล์ isc-dhcp-server.conf อยู่ใน /etc/init/ เมื่อแก้ไขที่ไฟล์นี้ก็สำเร็จ ใส่ comment “#” เพื่อว่าจะไม่ start เมื่อเปิดเครื่อง (บรรทัดที่4 #start on runlevel [2345])

    ก็ลองค้นดูเรื่องราวใน google ก็พบบทความหนึ่ง เรื่อง “What is the difference between /etc/init/ and /etc/init.d/?”

    ก็ได้คำตอบว่า ปัจจุบันนี้ผู้พัฒนาโปรแกรมบน ubuntu สามารถเลือกใช้ init ได้ 2 แบบ SysVinit กับ Upstart

    แบบ SysVinit เวลาสั่ง start จะทำดังนี้ /etc/init.d/dhcp3server start
    แบบ Upstart เวลาสั่ง start จะทำดังนี้ start isc-dhcp-server

    แบบ SysVinit ตั้งค่าโปรแกรมทำงานเมื่อเปิดเครื่อง แก้ไขด้วย update-rd.d
    แบบ Upstart ตั้งค่าโปรแกรมทำงานเมื่อเปิดเครื่อง แก้ไขที่ไฟล์ config ใน /etc/init/

    ขออนุญาต ลอกข้อความจาก Link http://askubuntu.com/questions/5039/what-is-the-difference-between-etc-init-and-etc-init-d มาให้อ่าน

    “/etc/init.d contains scripts used by the System V init tools (SysVinit). This is the traditional service management package for Linux, containing the init program (the first process that is run when the kernel has finished initializing¹) as well as some infrastructure to start and stop services and configure them. Specifically, files in /etc/init.d are shell scripts that respond to start, stop, restart, and (when supported) reload commands to manage a particular service. These scripts can be invoked directly or (most commonly) via some other trigger (typically the presence of a symbolic link in /etc/rc?.d/).

    /etc/init contains configuration files used by Upstart. Upstart is a young service management package championed by Ubuntu. Files in /etc/init are configuration files telling Upstart how and when to start, stop, reload the configuration, or query the status of a service. As of lucid, Ubuntu is transitioning from SysVinit to Upstart, which explains why many services come with SysVinit scripts even though Upstart configuration files are preferred. In fact, the SysVinit scripts are processed by a compatibility layer in Upstart.”

    ผมคิดว่าน่าจะมาเล่าสู่กันฟัง เท่าที่มีความรู้ หากมีคำแนะนำเพิ่มเติม บอกได้นะครับ

  • hands on backup joomla website and restore

    เรื่อง hands on backup joomla website and restore นี้จัดเตรียมโดยใช้ Oracle VM VirtualBox เพื่อฝึกปฏิบัติเกี่ยวกับการ backup website ในตัวอย่างจะใช้ joomla web site ซึ่งการ backup คงจะมีหลายแบบตามชนิดของการตั้ง website ในกรณีนี้ก็จะเป็นแบบตั้ง server เองแล้วใช้ apache web server + mysql server ที่ติดตั้งเอง

    สภาพแวดล้อมที่เตรียมมีดังนี้
    ubuntu router: มี Fix IP Address 10.0.100.1 (แจก DHCP IP Address ให้แก่ server1, server2 และ client)
    server1: 10.0.100.206 (joomla website รันบน apache web server)
    server2: 10.0.100.207 (backup)
    client: 10.0.100.205 (เพื่อใช้งาน ssh ผ่านทาง terminal และเพื่อใช้งาน firefox web browser)

    KM4-backup-diagram

    รูปภาพระบบทดสอบนี้

     

    การเตรียม VM
    ดาวน์โหลด [ ubunturouter-dhcp.ova  1.1GB ]  [ ubuntuserver-lamp.ova  1.2GB ] [ linuxmint15-live.ova 81KB]  [ linuxmint-15-mate-dvd-32bit.iso  1.0GB ] หรือได้รับแผ่น DVD ไฟล์ทั้งหมดนี้
    แล้วทำดังนี้
    1. ทำ import ไฟล์ ubunturouter-dhcp.ova ตั้งชื่อว่า ubuntu router ตั้ง network adapter1: NAT, ตั้ง network adapter2: internal network (ตั้ง name: intnet1)
    2. ทำ import ไฟล์ ubuntuserver-lamp.ova ตั้งชื่อว่า server1 ตั้ง network adapter1: internal network (ตั้ง name: intnet1)
    3. ทำ import ไฟล์ ubuntuserver-lamp.ova อีกครั้ง ตั้งชื่อว่า server2 ตั้ง network adapter1: internal network (ตั้ง name: intnet1)
    4. ทำ import ไฟล์ linuxmint15-live.ova ตั้งชื่อว่า client ตั้ง network adapter1: internal network (ตั้ง name: intnet1) และตั้งค่า Storage ใช้ CD/DVD ด้วยไฟล์ linuxmint-15-mate-dvd-32bit.iso

    หมายเหตุ เครื่อง 1,2 และ 3 เปิดเครื่องเข้าใช้ด้วย login mama / password 123456

    การเตรียมทำ joomla site ทดสอบ
    1. สร้าง database ที่ต้องการติดตั้ง ตัวอย่าง สร้าง database ชื่อ testdatabase ใช้คำสั่ง

    mysql -uroot -p123456 -e "CREATE DATABASE testdatabase CHARACTER SET 'UTF8';"

    2. กำหนดสิทธิ์การใช้ database testdatabase ให้แก่ user ตัวอย่างสร้าง user ชื่อ mamamysql โดยมีรหัสผ่านว่า mamapass ใช้คำสั่ง

    mysql -uroot -p123456 -e "grant all privileges on testdatabase.* to 'mamamysql'@'localhost' identified by 'mamapass' ;"

    3. เตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ /var/www/testjoomla ด้วยคำสั่ง

    sudo mkdir -p /var/www/testjoomla

    4. ดาวน์โหลดแฟ้ม joomla 2.5.9 มาเก็บไว้ด้วยคำสั่ง

    wget http://ftp.psu.ac.th/pub/joomla/Joomla_2.5.9-Stable-Full_Package.tar.gz -P /tmp

    แล้วแตกแฟ้มออกมาเก็บไว้ที่ /var/www/testjoomla ด้วยคำสั่ง

    sudo tar -zxvf /tmp/Joomla_2.5.9-Stable-Full_Package.tar.gz -C /var/www/testjoomla

    5. แล้วปรับสิทธิ์เจ้าของ /var/www/testjoomla ให้แก่ apache ด้วยคำสั่ง

    sudo chown -R www-data.www-data /var/www/testjoomla

    6. ต่อไปต้องติดตั้งปรับแต่งระบบ joomla ครั้งแรก เปิด browser (firefox, chrome, Internet Explorer ฯลฯ) แล้วพิมพ์

    http://10.0.100.206/testjoomla

    (หมายเหตุ 10.0.100.206 คือ ip address server ที่ติดตั้ง Joomla)

    ขั้นตอน 1 : Choose language (เลือกภาษา) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 2 : Pre-Installation Check(ตรวจสอบระบบก่อนติดตั้ง) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 3 : License(ลิขสิทธิ์) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 4 : Database Configuration(การตั้งค่าฐานข้อมูล) ให้ใส่ค่าดังนี้ (อย่าลืมใส่ข้อมูลชิดซ้าย ห้ามมีช่องว่าง)
    Database type = mysqli(เลือกที่มี i) (ความแตกต่างระหว่าง mysqli และ mysql)
    Host Name = localhost
    Username = mamamysql
    Password = mamapass
    Database Name = testdatabase เสร็จแล้ว click Next (หรือต่อไป)
    ขั้นตอน 5 : FTP Configuration (ตั้งค่า FTP) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 6 : Main Configuration (ตั้งค่าหลักของ เว็บ) ให้ใส่ค่าดังนี้
    Admin Username = ไม่ต้องแก้ไข ทิ้งไว้เหมือนเดิมคือ admin
    Admin Password = 123456
    Confirm Admin Password = 123456
    อย่าลืม ต้อง Click Install Sample Data (ติดตั้งข้อมูลตัวอย่าง) แล้วกด Next (หรือ ต่อไป)
    ขั้นตอนที่ 7 : Finish (เสร็จสิ้น) (ขั้นตอนสุดท้าย)

    7. แล้วปรับสิทธิ์เจ้าของ /var/www/testjoomla ให้แก่ user ที่ไม่ใช่ www-data ด้วยคำสั่ง

    sudo chown -R mama.mama /var/www/testjoomla

     

    การตั้งค่าการสำรองข้อมูลข้ามเครื่องโดยไม่ต้องถามรหัสผ่าน

    1. ใช้คำสั่งดังนี้คือ

    ssh-keygen -t dsa

    ได้ผลข้อความตัวอย่างว่า
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/User/.ssh/id_dsa):
    ให้ป้อน Enter จะได้ข้อความตัวอย่างว่า
    Enter passphrase (empty for no passphrase):
    ให้ป้อน Enter จะได้ข้อความตัวอย่างว่า
    Enter same passphrase again:
    ให้ป้อน Enter จะได้ข้อความตัวอย่างว่า
    Your identification has been saved in /home/User/.ssh/id_dsa.
    Your public key has been saved in /home/User/.ssh/id_dsa.pub.
    The key fingerprint is:
    66:ce:cc:8d:33:0d:49:9a:05:26:77:95:1a:3e:96:5f User1@Server1
    ถึงตอนนี้ ระบบจะสร้างแฟ้ม ~/.ssh/id_dsa และ ~/.ssh/id_dsa.pub ขึ้นมา

    2. ให้นำแฟ้ม ~/.ssh/id_dsa.pub จากเครื่องนี้ ไปเก็บไว้ที่ home ของ User2 ปลายทาง @server2
    ด้วยตัวอย่างคำสั่งว่า ssh-copy-id -i ~/.ssh/id_dsa.pub User2@Server2 เช่น

    ssh-copy-id -i ~/.ssh/id_dsa.pub mama@10.0.100.207

    อาจมีการถามรหัสผ่านของ User2@Server2 ให้ป้อนรหัสผ่านให้ถูกด้วย
    หากสำเร็จถูกต้อง ข้อมูลจะถูกเก็บที่ home ของ User2 ปลายทาง @server2 ในแฟ้ม ~/.ssh/authorized_keys

    3. เพื่อความปลอดภัย ให้กำหนดสิทธิ์เฉพาะเจ้าของจึงจะอ่านแฟ้มเหล่านีได้ ด้วยตัวอย่างคำสั่ง

    chmod 600 ~/.ssh/id_dsa ~/.ssh/id_dsa.pub

     

    การตั้งค่า cron เพื่อ backup server1 (10.0.100.206) ไปยัง server2 (10.0.100.207)

    1. ขั้นตอนนี้ต้องเข้าเป็น username root ด้วยคำสั่ง

    sudo su -

    2. สร้างแฟ้ม /etc/cron.d/cron-backup

    nano /etc/cron.d/cron-backup

    ใส่คำสั่งดังนี้

    0 4 * * * root sh /root/backup-joomla.sh

    3. สร้างแฟ้ม /root/mydaily.sh ด้วยคำสั่ง

    nano /root/backup-joomla.sh

    มีข้อมูลคำสั่งต่างๆที่ต้องการสั่งให้ทำงาน ดังนี้

      #!/bin/bash
      TODAY=$(date "+%Y%m%d%H%M")
      mysqldump -u mamamysql -pmamapass testdatabase > /root/testjoomla_${TODAY}.sql
      scp -i /home/mama/.ssh/id_dsa /root/testjoomla_${TODAY}.sql mama@10.0.100.207:backup_testjoomla
      tar -zcp -f /root/testjoomla_${TODAY}.tgz -C /var/www/testjoomla .
      scp -i /home/mama/.ssh/id_dsa /root/testjoomla_${TODAY}.tgz mama@10.0.100.207:backup_testjoomla

    4. เตรียมเสร็จ ให้ลองทดสอบระบบ

    login เข้าไปที่ server2 ด้วย ssh เพื่อสร้างไดเรกทอรี

    ssh -i /home/mama/.ssh/id_dsa mama@10.0.100.207 "mkdir backup_testjoomla"

    ทดสอบ run script นี้สัก 1 ครั้ง

    sh /root/backup-joomla.sh

    ตรวจสอบดูว่ามีการส่งไฟล์ไปเก็บจริงไม๊

    ssh -i /home/mama/.ssh/id_dsa mama@10.0.100.207 "ls -l backup_testjoomla"

    5. เสร็จแล้วสั่งให้ cron ทำงานใหม่ด้วยคำสั่ง

    service cron restart

    6. ออกจาก sudo su ด้วยคำสั่ง

    exit

     

    การ restore joomla web site

    1. สร้าง database ที่ต้องการติดตั้ง ตัวอย่าง สร้าง database ชื่อ testdatabase ใช้คำสั่ง

    mysql -uroot -p123456 -e "CREATE DATABASE testdatabase CHARACTER SET 'UTF8';"

    2. กำหนดสิทธิ์การใช้ database testdatabase ให้แก่ user ตัวอย่างสร้าง user ชื่อ mamamysql โดยมีรหัสผ่านว่า mamapass ใช้คำสั่ง

    mysql -uroot -p123456 -e "grant all privileges on testdatabase.* to 'mamamysql'@'localhost' identified by 'mamapass' ;"

    3. เตรียมพื้นที่สำหรับติดตั้ง joomla ไว้ที่ /var/www/testjoomla ด้วยคำสั่ง

    sudo mkdir -p /var/www/testjoomla

    4. แตกแฟ้มที่ backup นั้น (testjoomla_201309031231.tgz) ออกมาเก็บไว้ที่ /var/www/testjoomla ด้วยคำสั่ง

    sudo tar -zxvf backup_testjoomla/testjoomla_201309031231.tgz -C /var/www/testjoomla/

    5. import ข้อมูล เข้า ด้วยคำสั่ง

    mysql -uroot -p123456 testdatabase < backup_testjoomla/testjoomla_201309031231.sql

    6. แล้วปรับสิทธิ์เจ้าของ /var/www/testjoomla ให้แก่ user ที่ไม่ใช่ www-data ด้วยคำสั่ง

    sudo chown -R mama.mama /var/www/testjoomla

    7. ก็จะสามารถเข้า server2 ได้ที่ http://10.0.100.207/testjoomla

  • ติว (อบรมเชิงปฏิบัติการ) เรื่อง “System Monitoring & Backup Guide สำหรับผู้ดูแลระบบ”

    กิจกรรมของ CoP PSU IT รายการสุดท้ายของปีงบประมาณ อบรมเชิงปฏิบัติการ เรื่อง “System Monitoring & Backup Guide สำหรับผู้ดูแลระบบ” เป็นการนำเสนอเรื่องที่เตรียมมา ผู้เข้าร่วมนำโน้ตบุ๊คมาก็จะได้ลองทำตามดู และแลกเปลี่ยนถามตอบกันในประเด็น

    วันที่ 6 ก.ย. 2556 เวลา 09.00-16.00 น. ห้องประชุม ชั้น 7 สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร ตึก LRC ม.อ.หาดใหญ่
    (อัปเดตล่าสุด ช่วงบ่ายลง lab จะใช้เครื่องคอมห้อง training room ชั้น 3 ครับ)

    System Monitoring = ผมคิดว่าน่าจะเป็นซอฟต์แวร์/วิธีการที่เราเลือกว่า ดีและเหมาะ สำหรับ ผู้ดูแลที่ติดตั้ง server ขึ้นมา 1 เครื่อง แล้วต้องใช้มันทุกวัน จะโดยอัตโนมัติ หรือ นั่งดูแบบ real time

    Backup Guide = ผมคิดว่าน่าจะเป็นวิธีการ/หลายๆเทคนิค ทั้งบน linux และ windows ว่า ใครที่ติดตั้ง server ขึ้นมา 1 เครื่อง ต้อง backup อะไรบ้าง เผื่อเมื่อเครื่องเสียหาย เช่น backup OS, user account, config file, website, database เป็นเบื้องต้น

    รายละเอียด
    09.00-09.40น. นำเสนอ เรื่อง “ระบบ ตรวจจับ POP3 Brute Force Attack กับ ระบบตรวจจับผู้ใช้ PSU Email ที่ถูกหลอกเอารหัสผ่านไป” โดย คณกรณ์ หอศิริธรรม/แลกเปลี่ยนความเห็น
    09.40-10.20น. นำเสนอ เรื่อง การสำรองข้อมูล web site ด้วย TAR เช่น mediawiki, wordpress เป็นต้น โดย วิบูลย์ วราสิทธิชัย และ การสำรองข้อมูล file server ด้วย RSYNC โดย กิตติพัฒน์ อุบลกาญจน์/แลกเปลี่ยนความเห็น
    10.20-10.40น. พัก (รับประทานอาหารว่างร่วมกัน)
    10.40-11.00น. นำเสนอ เรื่อง การดูแลระบบของคณะแพทยศาสตร์ โดย โกเมน เรืองฤทธิ์/แลกเปลี่ยนความเห็น
    11.00-12.00น. นำเสนอ เรื่อง การดูแลระบบของศูนย์คอมพิวเตอร์ โดย จตุพร ชูช่วย/แลกเปลี่ยนความเห็น
    12.00-13.00น. พักเที่ยง (รับประทานอาหารเที่ยงร่วมกัน)
    13.00-16.00น. อบรมเชิงปฏิบัติการ เรื่อง การตรวจสอบการทำงานของเครื่องแม่ข่ายด้วยโปรแกรม Nagios โดยใช้ CentOS 6 + Epel โปรแกรมเสริม NRPE, NAGIOSQL (ตอนที่ 1) โดย จตุพร ชูช่วย และทีมงาน(เกรียงไกร หนูทองคำ)

    หากสนใจเข้าร่วม โปรดอีเมลมาที่ wiboon.w@psu.ac.th ครับ

    รายชื่อผู้แจ้งเข้าร่วม

    1. ทวีศักดิ์ รักษ์สุวรรณ    สถาบันทรัพยากรทะเลและชายฝั่ง
    2. วิศิษฐ โชติอุทยางกุร    คณะทันตแพทยศาสตร์ (อาหารมังสวิรัติ)
    3. นิติ โชติแก้ว    คณะการแพทย์แผนไทย
    4. สัมฤทธิ์ ฤทธิภักดี    ศูนย์คอมพิวเตอร์
    5. สุทิศา จรียานุวัฒน์   คณะทันตแพทยศาสตร์
    6. จรรยา เพชรหวน    คณะทรัพยากรธรรมชาติ
    7. ยุวภา โฆสกิตติกุล    คณะทรัพยากรธรรมชาติ
    8. จันทนา เพ็ชรรัตน์    สำนักวิจัยและพัฒนา
    9. นาลิวัน หีมเห็ม    สำนักวิจัยและพัฒนา
    10. ศุภางค์   อุลมัย    คณะทันตแพทยศาสตร์
    11. มงคล ทองเพชรคง    คณะทันตแพทยศาสตร์
    12. มาโนช จันทรวัฒน์    คณะทันตแพทยศาสตร์
    13. ศานิต แก้วเสถียร    โครงการจัดตั้งวิทยาลัยนานาชาติ
    14. ศุภกร เพ็ชรรัตน์    คณะทันตแพทยศาสตร์
    15. ศิริพงษ์ ศิริวรรณ    คณะเภสัชศาสตร์
    16. ปรีชา  ศรีมนัสรัตน์    ศูนย์คอมพิวเตอร์
    17. ภัทธ์ เอมวัฒน์    ม.อ.ปัตตานี (สำนักวิทยบริการ)
    18. สมพงศ์ หุตะจูฑะ    สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร
    19. เอกภพ ถาวรจิตร    สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร (อาหารมังสวิรัติ)
    20. โกศล โภคาอนนต์    ศูนย์คอมพิวเตอร์
    21. ณัฏฐิกา หัตถกรรม    ศูนย์คอมพิวเตอร์
    22. วิมลรัตน์ แดงสุวรรณ    บัณฑิตวิทยาลัย
    23. สุนิสา จุลรัตน์    สถาบันสันติศึกษา
    24. อานนท์ เหมือนกู้    ม.อ.ปัตตานี (วิทยาลัยอิสลามศึกษา) (อาหารมุสลิม)
    25. อัซมิง เซะ    ม.อ.ปัตตานี (วิทยาลัยอิสลามศึกษา) (อาหารมุสลิม)
    26. สัตยา บุญรัตนชู    ศูนย์เครื่องมือวิทยาศาสตร์
    27. ฮัมดัน มะเซ็ง    ศูนย์เครื่องมือวิทยาศาสตร์
    28. กิตติศักดิ์ แก้วเนียม    ม.อ.ปัตตานี (สำนักวิทยบริการ)
    29. ปิยะวัชร์ จูงศิริ    คณะวิศวกรรมศาสตร์
    30. พัฒนาวดี ศิวติณฑุโก    คณะวิศวกรรมศาสตร์
    31. ธีรเดช เขมะธีรรัตน์    คณะทันตแพทยศาสตร์
    32. ธีรพันธุ์ บุญราช    คณะเภสัชศาสตร์
    33. ขวัญยืน ปานโม    ม.อ.สุราษฎร์ธานี (ศูนย์สนเทศและการเรียนรู้)
    34. สุวัฒน์ อนันตคุณูปกร    ศูนย์สื่อการเรียนรู้
    35. สราวุฒิ เลิศล้ำไตรภพ    ศูนย์สื่อการเรียนรู้
    36. ศรายุทธ จุลแก้ว    ศูนย์สื่อการเรียนรู้
    37. อำนาจ สุคนเขตร์    ม.อ.ปัตตานี (สำนักวิทยบริการ)
    38. อนันต์ คาเรง    ม.อ.ปัตตานี (สำนักวิทยบริการ) นักศึกษาฝึกงาน (Q)
    39. สหภาพ หีมเขียว    คณะพยาบาลศาสตร์

    หมายเหตุ Q คือ โควต้าบุคคลภายนอก

  • Record video with RecordMyDesktop for Linux Mint

    วันนี้มีความรู้มาฝากเกี่ยวกับการทำบันทึกวิดีโอแนะนำความรู้จากหน้าจอคอมพิวเตอร์ด้วยตนเอง โดยใช้งานอยู่บนระบบปฏิบัติการ Linux Mint 15 Mate ครับ

    ผมต้องการทำวิดีโอ Preview แผ่น Linux Mint 15 Mate ที่พวกเราจะแจกในงานม.อ.วิชาการ’56 เพื่อเปิดให้มันบรรยายสรรพคุณไปเรื่อยๆในงาน เราไม่ต้องพูดและเด็กๆก็ฟังเมื่อต้องการได้

    ผมจึงได้หาโปรแกรมมาได้โดยการติดตั้งผ่านโปรแกรม Software Manager ของ Linux Mint โปรแกรมนี้มีชื่อว่า gtk-recordmydesktop (ขอขอบคุณเกรียงไกร หนูทองคำ ที่เอื้อเฟื้อคำแนะนำ) แล้วทำการบันทึก ในขณะบันทึกเราก็ต้องมีชุดหูฟังและไมโครโฟนที่พร้อมใช้งาน ผมใช้ Logitech ครับ

    ขั้นตอนการทำวิดีโอง่ายๆ คือ เข้าใช้ระบบปฏิบัติการ Linux Mint แล้วเรียกเมนู Software Manager จากนั้นใส่คำค้นหาเมื่อเจอแล้วดับเบิลคลิกชื่อซอฟต์แวร์ และจบด้วยคลิก Install เมื่อติดตั้งเสร็จก็มาเรียกใช้งาน มันจะอยู่ในเมนู Sound & Video ชื่อโปรแกรมคือ RecordMyDesktop

    position-recordmydesktop-menu

    ตอนนี้โปรแกรมอัดพร้อมแล้วเราก็ไปเปิด Oracle VM VirtualBox สั่งรัน linux mint ที่เป็น Virtual Machine แล้วเมื่อพร้อมก็คลิกที่ปุ่ม Record (ที่ taskbar จะเห็นเป็นสี่เหลี่ยมสีแดง) ก็บรรยายไป คลิกเปิดโปรแกรมไปจนเสร็จ ให้คลิกปุ่มเพื่อ Stop แล้วโปรแกรมมันจะเริ่มเขียนไฟล์จากที่เก็บไว้ใน /tmp จะได้ไฟล์ชื่อ out.ogv ผมก็ rename เป็นไฟล์ชื่อ linuxmint-preview.ogv นำไปไว้บน ftp server ให้ดาวน์โหลดมาเปิดดูและฟังได้

    ผมทำตัวอย่างเก็บไว้อยู่ที่ http://ftp.psu.ac.th/pub/cc/linuxmint-preview.ogv

    ขั้นตอนการเปิดใช้
    1. เปิด Terminal

    2. ดาวน์โหลดด้วย wget มาเก็บไว้เป็นไฟล์อีกไฟล์ให้ใหม่สดเสมอด้วย option -O

    wget http://ftp.psu.ac.th/pub/cc/linuxmint-preview.ogv -O /tmp/current-linuxmint-preview.ogv

    3. วิธีรันแบบ fullscreen

    totem --fullscreen  /tmp/current-linuxmint-preview.ogv

    หวังว่าพวกเราคงสนุกกับบทความนี้นะครับ

  • ทบทวนที่เรียนจากติว PhoneGap ด้วย HTML5 & Jquery Mobile

    ผมต้องออกตัวก่อนนะครับว่า ไม่ได้เก่งในการเขียน Mobile Apps. เลยสักนิด เพียงแต่ได้ไปเข้าเรียนมา 2 วัน ผมรู้สึกว่าเป็นศาสตร์ที่น่าลองทำดู และไม่ควรให้มันจางหายไปหลังจากเรียน เดี๋ยววิทยากรจะเสียใจ อิๆ ผมจึงบันทีกไว้แบบใครอ่านแล้วไม่ชอบก็อย่าถือสาผมนะครับ

    ลองทบทวนจากที่เรียนใน workshop
    ติว “แนะนำและสอนการพัฒนาเบื้องต้นเกี่ยวกับ Application บนมือถือด้วย PhoneGap โดยใช้ HTML5 & Jquery Mobile”

    สภาพแวดล้อม
    – เป็นการติดตั้งทดสอบบน Windows 8 (32 bit) บนเครื่องโน้ตบุ๊ค HP ProBook 6450b RAM 4 GB

    1. download JRE
    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
    32bit ได้ไฟล์สำหรับติดตั้ง jdk-7u25-windows-i586.exe
    (64bit ได้ไฟล์สำหรับติดตั้ง jdk-7u25-windows-x64.exe)
    รันไฟล์ดังกล่าวเพื่อติดตั้งลงในวินโดวส์

    2. download ADT
    http://developer.android.com/sdk/index.html
    32bit ได้ไฟล์ที่ zip ไว้คือ adt-bundle-windows-x86-20130729.zip
    (64bit ได้ไฟล์ที่ zip ไว้คือ adt-bundle-windows-x86_64-20130717.zip)
    แตกไฟล์ดังกล่าวออกมาแล้ว
    32bit ได้ไดเรกทอรี adt-bundle-windows-x86-20130729 ไว้ที่ C:\
    (64bit ได้ไดเรกทอรี adt-bundle-windows-x86_64-20130717 ไว้ที่ C:\)
    สร้าง shortcut ไปยังไฟล์ชื่อ eclipse.exe ในไดเรกทอรี eclipse ไว้บน Desktop
    ทดสอบรันโปรแกรม eclipse
    ตั้งชื่อ workspace ไว้ที่ C:\phonegap
    phonegap-000
    3. สร้าง Andriod Device ในโปรแกรม Java – ADT
    เมนู Windows > Android Virtual Device Manager
    แท็บ Android Virtual Devices คลิก New…
    ADV Name: ตั้งชื่อ ADV-7-inch
    Device: เลือก Nexus 7
    Target: เลือก Android 4.3 – API Level 18
    (adt-bundle-windows-x86-20130729.zip จะได้ Android 4.3 – API Level 18)
    Front Camera: None
    RAM: 768
    ทดสอบเปิด ADV-7-inch คลิก Start แล้วรอ ค่อนข้างนาน
    phonegap-001

    4. สร้าง New Android Application
    File > New > New Android Application
    ตั้งชื่อว่า phonegappsu
    ที่เหลือใช้ค่า default
    phonegap-002
    หน้าต่อไป Create Project in Workspace
    ตั้ง Location เป็นชื่อ C:\phonegap\phonegappsu
    phonegap-003
    หน้าต่อไป ใช้ค่า default
    phonegap-004
    หน้าต่อไป ใช้ค่า Blank Activity
    phonegap-005
    หน้าต่อไป ใช้ค่า default (Activity Name: MainActivity)
    phonegap-006
    คลิก Finish แล้วจะได้หน้าต่างของรายละเอียดเยอะแยะ
    phonegap-007

    5. download phonegap
    http://phonegap.com/install/ เลือก PhoneGap2.9.0
    ได้ไฟล์ที่ zip ไว้คือ phonegap-2.9.0.zip
    แตกไฟล์ดังกล่าวออกมาแล้ว ได้ไดเรกทอรี phonegap-2.9.0

    6. ที่ Windows Explorer เข้าไปในไดเรกทอรี phonegap-2.9.0
    ก็อปปี้เฉพาะไดเรกทอรี lib\android\example\assets\www
    phonegap-008
    ที่รายการด้านซ้ายของโปรแกรม ADT คลิกขวาที่ phonegappsu > assets แล้ววาง www ไว้

    ก็อปปี้เฉพาะไดเรกทอรี lib\andriod\xml
    phonegap-009
    ที่รายการด้านซ้ายของโปรแกรม ADT คลิกขวาที่ phonegappsu > res แล้ววาง xml ไว้

    ก็อปปี้เฉพาะไดเรกทอรี lib\android\cordova­2.9.0.jar
    phonegap-010
    ที่รายการด้านซ้ายของโปรแกรม ADT คลิกขวาที่ phonepagpsu > libs แล้ววาง cordova­2.9.0.jar ไว้
    รวมแล้วจะได้หน้าตาประมาณนี้
    phonegap-011

    7. แก้ไขไฟล์  MainActivity.java ( ข้อนี้ต้องระวังการ copy แล้ว paste เครื่องหมายคำพูด และ ; )
    ที่รายการด้านซ้ายของโปรแกรม ADT ใต้ Project ที่สร้าง
    phonegappsu > src > com.example.phonegappsu> MainActivity.java
    โดยคลิกขวา > ใช้คำสั่ง Open With > Text Editor
    (1)แก้ไขบรรทัดเดิม public class MainActivity extends Activity
    เป็น public class MainActivity extends DroidGap
    (2)แก้ไขชุดบรรทัด import เดิมดังนี้
    ลบบรรทัด import android.app.Activity;
    เพิ่มบรรทัด import org.apache.cordova.*;
    (3)แก้ไขบรรทัดที่มีคำว่า protected เป็น public
    (4)ใส่ comment บรรทัด //setContentView(R.layout.activity_main);
    (5)แล้วเพิ่มบรรทัด super.loadUrl(“file:///android_asset/www/index.html”);
    จะได้ประมาณนี้

    phonegap-012

    code

    package com.example.phonegap;
    
    import android.os.Bundle;
    import org.apache.cordova.*;
    import android.view.Menu;
    
    public class MainActivity extends DroidGap {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.activity_main);
            super.loadUrl("file:///android_asset/www/index.html");
        }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        
    }
    
    

    8. ต้องแก้ไข AndroidManifest.xml
    โดยคลิกขวา > ใช้คำสั่ง Open With > Text Editor
    ใส่ Permission Tag ดังนี้

    code

    <uses-permission android:name="android.permission.VIBRATE"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
    <uses-permission android:name="android.permission.RECORD_AUDIO"/> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 
    <uses-permission android:name="android.permission.READ_CONTACTS"/> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CAMERA"/>

    ไว้ก่อนบรรทัดปิด Tag </manifest>

    9.  ติดตั้ง jquery.mobile
    download phonegapcomponent (jquery.mobile)
    เอาจาก facebook group ชื่อ phonegap for psu เลือก files (สามารถโหลดจาก http://jquerymobile.com/ ได้เลย)
    ได้ไฟล์ที่ zip ไว้คือ PhoneGapComponent.zip
    แตกไฟล์ดังกล่าวออกมาแล้ว ได้ไดเรกทอรี PhoneGapComponent
    ที่ Windows Explorer เข้าไปในไดเรกทอรี PhoneGapComponent
    ก็อปปี้เฉพาะไดเรกทอรี css และ js
    ที่รายการด้านซ้ายของโปรแกรม ADT คลิกขวาที่ phonegappsu > assets > www แล้ววาง css กับ js ไว้

    10. ทดสอบสร้าง Application จากตัวอย่าง index.html ที่ให้มา
    จะได้ไฟล์ phonegappsu.apk
    ที่รายการด้านซ้ายของโปรแกรม Eclipse ใต้ Project ที่สร้าง
    assets > www > โดยคลิกขวาที่ไฟล์  index.html > ใช้คำสั่ง Open With > Text Editor
    สั่ง Run
    phonegap-014

    11. ในข้อถัดไปเป็นตัวอย่างใน workshop เอาไฟล์ตัวอย่างจากที่นี่
    https://sharedrive.psu.ac.th/public.php?service=files&t=04facfa02dc0204fadbf00925d3c431c )

    12. ทดสอบด้วยตัวอย่างที่ 1 ชื่อ example1.html
    (ตัวอย่างนี้จะเปิด dialog หลังจากเลือกเมนู และบางเมนูเมื่อเลือกก็จะซ่อนข้อความ)
    นำไฟล์ตัวอย่าง example1.html ไปวางไว้ที่ phonegappsu > www
    phonegap-015
    แก้ไขไฟล์  MainActivity.java
    ที่รายการด้านซ้ายของโปรแกรม Eclipse ใต้ Project ที่สร้าง
    phonegappsu > src > com.example.phonegappsu> MainActivity.java
    แก้ไขบรรทัด super.loadUrl(“file:///android_asset/www/index.html”);
    เป็น super.loadUrl(“file:///android_asset/www/example1.html”);
    รันโปรเจกต์ ได้ผลแสดงบน ADV
    phonegap-016

    13. ทดสอบด้วยตัวอย่างที่ 2 ชื่อ example2.html
    (ตัวอย่างนี้จะมีปุ่ม back ให้ย้อนกลับได้)
    นำไฟล์ตัวอย่าง example2.html ไปวางไว้ที่ phonegappsu > www
    phonegap-017
    แก้ไขไฟล์  MainActivity.java
    ที่รายการด้านซ้ายของโปรแกรม Eclipse ใต้ Project ที่สร้าง
    phonegappsu > src > com.example.phonegappsu> MainActivity.java
    แก้ไขบรรทัด super.loadUrl(“file:///android_asset/www/index.html”);
    เป็น super.loadUrl(“file:///android_asset/www/example2.html”);
    รันโปรเจกต์ ได้ผลแสดงบน ADV
    phonegap-018

    14. ทดสอบด้วยตัวอย่างที่ 3 ชื่อ dbuser.html
    (ตัวอย่างนี้ป้อนชื่อ นามสกุล เพศ เก็บลง sqlite database บน android และแสดงรายการ
    ขอบคุณกิตติพัฒน์ อุบลกาญจน์ที่เป็นเจ้าของต้นฉบับไฟล์ที่แก้ไปเยอะจากที่วิทยากรให้ลองทำ)
    นำไฟล์ตัวอย่าง dbuser.html ไปวางไว้ที่ phonegappsu > www
    phonegap-019
    แก้ไขไฟล์  MainActivity.java
    ที่รายการด้านซ้ายของโปรแกรม Eclipse ใต้ Project ที่สร้าง
    phonegappsu > src > com.example.phonegappsu> MainActivity.java
    แก้ไขบรรทัด super.loadUrl(“file:///android_asset/www/index.html”);
    เป็น super.loadUrl(“file:///android_asset/www/dbuser.html”);
    รันโปรเจกต์ ได้ผลแสดงบน ADV
    phonegap-020

    15. หากต้องการทดสอบบน Android Smartphone เครื่องจริง ก็เอาไฟล์ phonegappsu.apk ไปใส่แล้วติดตั้ง
    ซึ่งไฟล์อยู่ที่ phonegappsu > bin

    ลองทำตามดูนะครับ

  • Ubuntu NAT Router

    เพื่อนครูที่โรงเรียนหนึ่งสอบถามเข้ามาว่ากำลังจะทำ Linux Router ด้วย Ubuntu 12.04 ผมก็มีอยู่ตัวหนึ่งที่ใช้ใน workshop อยู่พอดี ผมติดตั้ง Ubuntu 12.04 ที่มี network interface card จำนวน 2 อัน ทำอยู่ใน Oracle VM VirtualBox ผมติดตั้ง BIND โปรแกรมสำหรับทำ DNS server และ ISC-DHCP-SERVER โปรแกรมสำหรับทำ DHCP server เอาไว้ใช้ในการทดสอบเมื่อมี VM Guest เครื่องอื่นๆอยู่ภายใน internal network ไม่ต้องไปรบกวน IP Address ของสำนักงาน เพราะเครื่อง Guest อื่นๆ จะขอ DHCP IP จาก Ubuntu Router นั่นเอง แล้วยังสามารถตั้งชื่อโดเมนเนมให้กับเครื่อง Guest ได้อีกด้วย ในกรณีที่เราทำใช้งานใน Oracle VM VirtualBox นั้น network interface eth0 ก็ตั้งค่า Network Adapter เป็น NAT และ network interface eth1 ก็ตั้งค่า Network Adapter เป็น Internet Network ตั้งชื่อว่า Intnet1 แต่หากนำไปติดตั้งเป็น Linux Router สำหรับโรงเรียนด้วยเครื่องจริง network interface eth0 ก็เป็น IP Address ที่ได้รับจาก ADSL หรือ Leased Line ส่วน network interface eth1 ก็ตั้ง IP Address ตามใจชอบ

    ubuntu-nat-router

    ผมจึงคิดว่าก็น่าจะลองเขียนเป็นคำแนะนำส่งให้กับครูท่านนั้น แต่เพื่อให้สามารถต่อยอดต่อไปอีกได้ ผมจึงเขียนสะสมไว้ในหัวข้อเรื่อง คือ Ubuntu NAT Router ที่ Link นี้ http://opensource.cc.psu.ac.th/Ubuntu_NAT_Router

    ผมจึงมาบอกเล่าให้เพื่อนๆฟังครับ เผื่อว่าใครกำลังมองหาวิธีการนี้อยู่

  • ติว “แนะนำและสอนการพัฒนาเบื้องต้นเกี่ยวกับ Application บนมือถือด้วย PhoneGap โดยใช้ HTML5 & Jquery Mobile”

    กิจกรรมของ CoP PSU sysadmin ของเราในลำดับต่อไป ติว “แนะนำและสอนการพัฒนาเบื้องต้นเกี่ยวกับ Application บนมือถือด้วย PhoneGap โดยใช้ HTML5 & Jquery Mobile” เป็นการบรรยายพร้อมฝึกปฏิบัติการใช้โปรแกรม วันที่ 30-31 ก.ค. 56 เวลา 09.00-16.00 น. ห้องอบรมคอมพิวเตอร์ ชั้น 3 สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร ตึก LRC ม.อ.หาดใหญ่ (รับจำนวน 50 คน)

    PhoneGap is a free and open source framework that allows you to create mobile apps using standardized web APIs for the platforms you care about.

    ท่านที่สนใจให้สมัครโดยส่งอีเมลมาที่ wiboon.w@psu.ac.th

    เนื้อหา
    วันแรก
    – เทคโนโลยีพื้นฐานของโมบายเว็บ
    – การพัฒนาโปรแกรมสําหรับมือถือ
    – เทคโนโลยีพื้นฐานของโมบายเว็บ
    – jQuery Mobile (JQM)
    – การติดตั้งเครื่องมือสำหรับพัฒนา Application บนมือถือโดยใช้ PhoneGap API
    วันที่สอง
    – PhoneGap Framework
    – PhoneGap sample workshop

    ทีมวิทยากร
    วิทยากร นายวิทยา พันดวง บริษัทพัฒนาซอร์ฟแวร์ส่วนตัว
    ผู้ช่วยวิทยากร ทวีศักดิ์ ปัญญาใส บริษัทพัฒนาซอร์ฟแวร์ส่วนตัว
    ผู้ช่วยวิทยากร พัฒนาวดี ศิวติณฑุโก คณะวิศวกรรมศาสตร์

    ประวัติวิทยากรประวัติการศึกษา
    ปริญญาตรี วิทยาการคอมพิวเตอร์ มหาวิทยาลัยวลัยลักษณ์ประวัติการทำงาน
    1.ผู้ช่วยวิจัยโครงการพัฒนาฐานข้อมูลความหลากหลายทางชีวภาพระดับประเทศ NBIDS-BRT สังกัด มหาวิทยาลัยวลัยลักษณ์ ภายใต้ความร่วมมือระหว่างมหาวิทยาลัยวลัยลักษณ์ และ BIOTEC
    2.พัฒนาฐานข้อมูล GGIS ฐานข้อมูลภูมิสารสนเทศสำหรับครูทั่วประเทศ พัฒนาร่วมระหว่างสสวท. และ มหาวิทยาลัยวลัยลักษณ์ประวัติการเป็นวิทยากร
    1.อบรมการพัฒนาฐานข้อมูลบนเว็บด้วย PHP และ Google Maps API
    มหาวิทยาลัยราชภัฏนครศรีธรรมราช
    2.อบรมการพัฒนาเว็บไซต์ด้วย Yii Framework (PHP Framework)
    มหาวิทยาลัยราชภัฏนครศรีธรรมราช
    3.อบรมการพัฒนาเว็บไซต์ด้วย Yii Framework (PHP Framework)
    สถาบัน STEC อ.ทุ่งสง จ.นครศรีธรรมราช
    4.อบรมการพัฒนาเว็บไซต์ด้วย Yii Framework (PHP Framework)
    สำนักงานใหญ่ สรรพากรภาค 11 จ.สุราษฎร์ธานี
    5.อบรมการพัฒนาฐานข้อมูลภูมิสารสนเทศ ด้วย Access และ Google Earth
    มหาวิทยาลัยวลัยลักษณ์
    6.อบรมการพัฒนา Application บน Android เบื้องต้น ให้อาจารย์และนักศึกษา
    มหาวิทยาลัยราชภัฏนครศรีธรรมราช
    7.อบรมการพัฒนา Application บน Android เบื้องต้น ให้บุคลากรและนักศึกษา
    ณ ฝ่ายคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยสงขลานครินทร์ วิทยาเขตหาดใหญ่

    รายชื่อผู้สมัครเข้าร่วม

    1. ดุษณี  โสภณอดิศัย    คณะนิติศาสตร์
    2. กัมปนาท โชติกุล    ศูนย์คอมพิวเตอร์
    3. ชาตรี คู่ณรงค์นันทกุล    ศูนย์คอมพิวเตอร์
    4. ภัทธ์ เอมวัฒน์    สำนักวิทยบริการ ม.อ.ปัตตานี
    5. กิตติศักดิ์ แก้วเนียม   สำนักวิทยบริการ ม.อ.ปัตตานี
    6. ศิลประภา ศิลปรัตน์    สำนักวิทยบริการ ม.อ.ปัตตานี
    7. คณกรณ์ หอศิริธรรม    ศูนย์คอมพิวเตอร์
    8. เกรียงไกร หนูทองคำ    ศูนย์คอมพิวเตอร์
    9. เอกภพ  ถาวรจิตร    สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกะวีสุนทร (อาหารมังสวิรัติ)
    10. กิตติพัฒน์  อุบลกาญจน์    สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกะวีสุนทร
    11. นิติ โชติแก้ว    คณะการแพทย์แผนไทย
    12. จีรศักดิ์ สายนาค    ศูนย์คอมพิวเตอร์
    13. อรยา ธีระประภาวงศ์    นักศึกษาฝึกงานคณะการแพทย์แผนไทย (Q)
    14. ธีระยุทธ์ ประสมพงศ์    ศูนย์คอมพิวเตอร์
    15. ธนานันต์ วุฒิสิทธ์    ศูนย์คอมพิวเตอร์
    16. วชิรวิชญ์  จิวานิจ    ศูนย์คอมพิวเตอร์
    17. วรรณวรางค์ จิตผิวงาม    ศูนย์คอมพิวเตอร์
    18. โกวิทย์ แซ่เล้า    ศูนย์คอมพิวเตอร์
    19. ปรีชา  ศรีมนัสรัตน์    ศูนย์คอมพิวเตอร์
    20. สุนิสา จุลรัตน์    สถาบันสันติศึกษา
    21. สุวัฒน์ อนันตคุณูปกร    ศูนย์สื่อการเรียนรู้
    22. สราวุฒิ  เลิศล้ำไตรภพ    ศูนย์สื่อการเรียนรู้
    23. กิตติพงศ์ เซ่งลอยเลื่อน    คณะมนุษยศาสตร์และสังคมศาสตร์ ม.อ.ปัตตานี
    24. ลภัสรดา ศิริไพบูลย์ สงสุข   คณะวิศวกรรมศาสตร์
    25. จตุพร ชูช่วย    ศูนย์คอมพิวเตอร์
    26. วิมลรัตน์ แดงสุวรรณ    บัณฑิตวิทยาลัย
    27. พรจรัส สุทธินันท์    คณะการจัดการสิ่งแวดล้อม ม.อ.
    28. สัมฤทธิ์  ฤทธิภักดี    ศูนย์คอมพิวเตอร์
    29. สมชาย วนะธนศิลป์    ศูนย์คอมพิวเตอร์
    30. ไพโรจน์ กุลบุตร    ศูนย์คอมพิวเตอร์
    31. พีรพล แซ่ไล่    บริษัท พิธานพาณิชย์ จำกัด (Q)
    32. พงศธร ทองราช    คณะแพทยศาสตร์
    33. สมคิด อินทจักร    คณะแพทยศาสตร์
    34. ศรายุทธ  จุลแก้ว    ศูนย์สื่อการเรียนรู้
    35. นวมน  อ่อนเจริญ    ศูนย์สื่อการเรียนรู้
    36. พิมประภา  จันทร์แก้ว    ศูนย์สื่อการเรียนรู้
    37. ธันวา  เจ๊ะอาแว    ศูนย์สื่อการเรียนรู้ (อาหารมังสวิรัติ)
    38. รัตนา  สุวรรณการ    ศูนย์สื่อการเรียนรู้
    39. นวพล เทพนรินทร์    ศูนย์คอมพิวเตอร์
    40. คฑาวุธ ถวัลย์วิลาสวงศ์    นักศึกษาปริญญาโท สาขา MIT ของคณะวิศวกรรมศาสตร์ (Q)
    41. กู้สกุล วรรณบวร    คณะพยาบาลศาสตร์
    42. ณัฐพงษ์ หนิมุสา    กองกิจการนักศึกษา สำนักงานอธิการบดี (อาหารอิสลาม)
    43. ศิริพงษ์ ศิริวรรณ    คณะเภสัชศาสตร์
    44. ดุษฏี บัวสกุล    บริษัท พิธานพาณิชย์ จำกัด (Q)
    45. เสกสรร  มาลานุสรณ์    คณะศิลปศาสตร์
    46. มงคล ทองเพชรคง    คณะทันตแพทยศาสตร์
    47. ศุภางค์ อุลมัย    คณะทันตแพทยศาสตร์
    48. วิศิษฐ โชติอุทยางกูร    คณะทันตแพทยศาสตร์ (อาหารมังสวิรัติ)
    49. ราชศักดิ์ บูรณะพาณิชย์กิจ    คณะวิศวกรรมศาสตร์
    50. วิบูลย์ วราสิทธิชัย    ศูนย์คอมพิวเตอร์

    ปิดรับสมัครเนื่องจากที่นั่งเต็มแล้ว

    หมายเหตุ Q คือ โควต้าบุคคลภายนอก

  • ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงานด้วย PSU12-Sritrang และ PSU Installer”

    กิจกรรมของ CoP PSU sysadmin ของเราในลำดับต่อไป ติว “การจัดการห้องบริการคอมพิวเตอร์และสำนักงานด้วย PSU12-Sritrang และ PSU Installer”
    วันที่ 27-28 มิ.ย. 56 เวลา 09.00-16.00 น. ห้อง 101 ศูนย์คอมพิวเตอร์ ม.อ.

    ท่านที่สนใจให้สมัครโดยส่งอีเมลมาที่ wiboon.w@psu.ac.th

    เนื้อหา
    1. เหมาะสำหรับ admin ที่กำลังมองหาวิธีการลดเวลาในการทำงานด้วยระบบอัตโนมัติ และเหนื่อยกับการเตรียมเครื่องคอมพิวเตอร์ในการจัดการห้องบริการคอมพิวเตอร์และสำนักงาน โดยการนำโอเพนซอร์สและฟรีแวร์มาประยุกต์ใช้ และที่สำคัญคือลดการละเมิดลิขสิทธิ์ซอฟต์แวร์และประหยัดค่าใช้จ่าย
    2. ฝึกปฏิบัติชุดโปรแกรม PSU12-Sritrang ซึ่งติดตั้งเป็น serverได้ง่ายด้วยเทคนิค Cloning
    ชุดโปรแกรมมีสรรพคุณดังนี้
    DHCP + PXE Server – ทำงานเป็น DHCP server และ PXE server
    Cloning Server – ระบบ Cloningผ่าน network ใช้ทดแทนโปรแกรม GHOSTสามารถ Cloning ได้ทั้ง MS Windows และ Linux
    Boot Manager Server – ห้องคอมพิวเตอร์อัจฉริยะ ควบคุม boot manager จาก serverสามารถกำหนดให้ PC ลูกข่ายบูทเข้า partition ไหนก็ได้
    Diskless Client – สามารถให้ PC ลูกข่ายบูทแผ่นซีดีที่เก็บไว้บน server ได้
    3. ฝึกปฏิบัติชุดโปรแกรมประชาสัมพันธ์ข่าวสารผ่าน network (prnews) เปลี่ยนข้อความได้ทุกวัน ทำให้ไม่พลาดข่าวกิจกรรมสำคัญของหน่วยงาน
    4. ฝึกปฏิบัติโปรแกรม Cygwin ใช้ในการเปลี่ยนชื่อเครื่องคอมพิวเตอร์และสั่ง shutdown เครื่องได้ ไม่ต้องเดินปิดทีละเครื่อง program สั่ง shutdown automatic
    5. ฝึกปฏิบัติโปรแกรม pGinaสามารถควบคุมการเข้าใช้เครื่องคอมพิวเตอร์ โดยตั้งค่าให้ใช้ radius server ที่พร้อมใช้งานอยู่ใน PSU12-Sritrang และมีระบบบันทึก log accounting
    6. แนะนำชุดโปรแกรม PSU Installer ที่นำไปติดตั้งเพิ่มลงใน ubuntu server 12.04 แล้วกลายเป็น server ที่ลดขั้นตอนการติดตั้ง เช่น PSU-Radius ติดตั้งเป็น radius server หรือ PSU-Netdrive ติดตั้งเป็น file server เป็นต้น

    รายละเอียดการฝึกปฏิบัติ
    วันที่ 1 เรื่อง cloning และ PRNews
    1. สาธิตให้ดู PSU12-Sritrang ทำอะไรได้บ้าง
    2. ลองให้เข้าใจการ cloning (เรียนรู้การทำ server และ cloning ด้วย client พร้อมใช้)
    3. ลองให้เข้าใจ PRNews และ Shutdown PC
    4. ลองให้เข้าใจการทำต้นฉบับอีกรอบหลังปรับแต่งโปรแกรม
    5. ลองให้เข้าใจการทำต้นฉบับมากกว่า 1 partition
    6. ลองให้เข้าใจการทำโครงสร้าง MS-DOS partition

    วันที่ 2 เรื่อง diskless และ file server and share file
    7. ลองให้เข้าใจการใช้งาน diskless
    -การประยุกต์ใช้งาน diskless ทำเป็น client เฉพาะงาน เช่น psu-lib
    -การประยุกต์ใช้งาน diskless ทำเป็น kios presentation
    8. แนะนำ PSU-Installers
    -PSU-radius (เชื่อมต่อ username database ที่มีอยู่ลงในเครื่อง server Guest1)
    -PSU-radius ใช้ร่วมกับ pgina for windows
    -PSU-Netdrive (เพิ่ม file server ลงในเครื่อง server Guest1)
    9. แนะนำ Private Cloud Storage สำหรับ share file สำนักงาน
    – แนะนำ ownCloud server

    รายชื่อวิทยากร
    1. นายวิบูลย์ วราสิทธิชัย นักวิชาการคอมพิวเตอร์ชำนาญการพิเศษ ศูนย์คอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์
    2. นายวิศิษฐ โชติอุทยางกูร นักวิชาการคอมพิวเตอร์ชำนาญการพิเศษ คณะทันตแพทยศาสตร์ มหาวิทยาลัยสงขลานครินทร์ (อาหารมังสวิรัติ)
    3. นายเกรียงไกร หนูทองคำ นักวิทยาศาสตร์ ศูนย์คอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์

    รายชื่อผู้แจ้งเข้าร่วม

    1. ธีรเดช เขมะธีรรัตน์    คณะทันตแพทยศาสตร์
    2. บัณฑิต ชนะถาวร    คณะทันตแพทยศาสตร์
    3. สุนิสา จุลรัตน์    สถาบันสันติศึกษา
    4. กฤษณะ คีรีวัลย์    คณะวิศวกรรมศาสตร์
    5. ปิยะวัชร์ จูงศิริ    คณะวิศวกรรมศาสตร์
    6. นิติ โชติแก้ว    คณะการแพทย์แผนไทย
    7. อรยา ธีระประภาวงศ์    นักศึกษาฝึกงานคณะการแพทย์แผนไทย (Q)
    8. อาทิตย์ อรุณศิวกุล    คณะศิลปศาสตร์
    9. ศิริพงษ์ ศิริวรรณ    คณะเภสัชศาสตร์
    10. ธีรพันธุ์ บุญราช    คณะเภสัชศาสตร์
    11. วันชัย แซ่ลิ่ม    คณะวิศวกรรมศาสตร์
    12. ฝาติหม๊ะ  เหมมัน    คณะวิศวกรรมศาสตร์
    13. ชัยวัฒน์  พานิชกุล    คณะวิทยาศาสตร์
    14. ชยธร วัฒนชาลี    วิทยาเขตภูเก็ต
    15. ภาษิต เสกสรรค์    วิทยาเขตภูเก็ต
    16. โกวิทย์ สุดใจ    วิทยาเขตภูเก็ต
    17. ชัยวัฒน์  ศรีจันทร์กุล    คณะวิทยาการจัดการ
    18. เสะอันวา เสะบือราเฮง    คณะศึกษาศาสตร์ ม.อ.ปัตตานี
    19. เอกภพ  ถาวรจิตร    สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกะวีสุนทร (อาหารมังสวิรัติ)
    20. กิตติพัฒน์  อุลบกาญจน์ สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกะวีสุนทร
    21. ดุษณี โสภณอดิศัย    คณะนิติศาสตร์
    22. ยุวภา โฆสกิตติกุล    คณะทรัพยากรธรรมชาติ
    23. เอกศักดิ์ เทพยา    โรงเรียนบริหารธุรกิจวิทยา (บธว) สงขลา (Q)
    24. โกศล โภคาอนนท์    ศูนย์คอมพิวเตอร์
    25. ทศพล สนธิกุล    วิทยาเขตตรัง
    26. คณกรณ์  หอศิริธรรม    ศูนย์คอมพิวเตอร์
    27. นวพล  เทพนรินทร์   ศูนย์คอมพิวเตอร์
    28. จรัล บูลวิบูรณ์    คณะศิลปศาสตร์

    ปิดรับสมัคร ที่นั่งเต็มแล้ว เมื่อวันที่ 20 มิ.ย. 56

    หมายเหตุ Q คือ โควต้าบุคคลภายนอก

  • update ownCloud new version (5.0.6 to 5.0.7)

    หลังจากวันก่อนเมื่อช่วงต้นเดือนเขียนบทความ เรื่อง “มาทำ Self-hosted cloud storage ด้วย ownCloud ใน PSU กันเถอะ” ผมก็ทดสอบการใช้งานไปเรื่อยๆ มีเพื่อนชาว PSU sysadmin มาร่วมกันทดสอบกัน 5-6 คน ซึ่งเป็นเวอร์ชั่น 5.0.6 มาวันนี้เมื่อเข้าในหน้า admin ก็จะพบว่ามีแจ้งเตือนว่ามีเวอร์ชั่นที่ใหม่กว่าแล้ว คือ 5.0.7 แล้ว ก็ทำการอัปเดตผ่านหน้าเว็บได้เลย ถ้ากำหนด file permission ให้แก่ webserver user (www-data) ที่ไดเรกทอรี /var/www/owncloud

    owncloud-update-01

    ผลลัพธ์คือเมื่ออัปเดตเสร็จจะพบว่าเข้าสู่โหมด maintenance

    owncloud-update-02

    เราในฐานะผู้ดูแลต้องไปปลดล็อกที่ไฟล์ config.php ด้วยครับ จากนั้นก็จะใช้งานได้แล้ว

    ย้อนสักนิด การติดตั้ง owncloud นั้นจะมีอยู่ 3 วิธี คือ Tar or Zip File เหมาะสำหรับมีเครื่อง server เอง, Web Installer เหมาะสำหรับ shared hosting และสุดท้ายคือ Linux packages เหมาะสำหรับอัปเดตแบบอัตโนมัติเมื่อทำ apt-get update และ apt-get upgrade นั่นเอง

    owncloud-installation-webpage

    วิธีที่ผมเลือกติดตั้งคือแบบ Tar File เอามาลงในเครื่อง server เอง ดังนั้นเมื่อมีอัปเดตเวอร์ชั่นใหม่ เราจะควบคุมเองได้ว่าจะทำเมื่อไร หลังจากทราบว่ามีเวอร์ชั่นใหม่ แตกต่างจากแบบ Linux packages ซึ่งจะอัปเดตไม่รอเรา อาจทำให้มีปัญหาได้หากเรามีการ manual ปรับปรุงไฟล์ php บางไฟล์ เช่นที่ผมทำคือต้องมีการแก้ไขไฟล์ ftp.php, base.php และ app.php ดังนั้นวันนี้ผมจึงมาบอกเล่าให้ฟังว่า การอัปเดตจากเวอร์ชั่นหนึ่งไปอีกเวอร์ชั่นหนึ่งแบบเล็กน้อย เรียกว่า update นะครับ และหากเป็นการเปลี่ยนแปลงใหญ่ จะเรียกว่า upgrade อันนี้อ่านมาจากเว็บ ownCloud ซึ่งวิธีการทำจะแตกต่างกัน

    วันนี้มาแนะนำวิธีการอัปเดต (update) ownCloud จากเวอร์ชั่น 5.0.6 ไปเป็น 5.0.7 ซึ่งหลังจากอัปเดตตามเค้าว่าแล้ว ผมก็มาปรับแต่งเพื่อให้เข้ากันกับ PSU อีกที ผมจึงเขียนเป็น wiki ไว้ที่เว็บ opensource.cc.psu.ac.th เรื่อง อัปเดต owncloud (5.0.6) เป็นเวอร์ชั่นสูงกว่า (5.0.7) สำหรับ PSU ซึ่งมีรายละเอียดการทำงานเป็นขั้นตอน โดยสรุปพบว่า เวอร์ชั่นใหม่นี้ยังไม่ได้แก้ไข bug ที่พบในไฟล์ 3 ไฟล์ที่จำเป็นสำหรับ PSU ครับ