Author: wiboon.w

  • วิธีตรวจสอบขณะเข้าเว็บไซต์ที่มีหน้าเว็บ login ด้วย username

    วิธีตรวจสอบขณะเข้าเว็บไซต์ที่มีหน้าเว็บ login ด้วย username

    สำหรับเบราว์เซอร์ Chrome ให้สังเกตว่าจะมีรูปกุญแจล๊อค(สีเขียว) หน้าคำว่า https แสดงว่า เว็บเพจหน้านี้ปลอดภัย

    https-facebook

    หากแสดงเป็นอย่างอื่น เช่น กากบาทสีแดงคาดที่คำว่า https แสดงว่าไม่ปลอดภัย อาจจะกำลังโดนใครดักข้อมูล username และ password ของท่าน

    https-facebook-privacy-error

    ตัวอย่างเว็บไซต์ gmail

    https-gmail

    ตัวอย่างเว็บไซต์ต่างๆของ PSU ที่เรียกใช้ด้วย Chrome browser และ แสดง https กุญแจสีเขียว สถานะปลอดภัย

    https-dss https-edoc https-licensing https-passport https-sysadmin https-webmail

    สำหรับเบราว์เซอร์ Firefox ก็แสดงเป็นรูปกุญแจล๊อค แต่เป็นสีเทา ไม่แสดงเป็นสีเขียว ก็คือปรกติครับ (ผมไม่ได้ใส่รูปตัวอย่างสำหรับ Firefox)

    สำหรับเบราว์เซอร์ IE (Internet Explorer) ในขณะที่เขียนบทความนี้ (19 ธันวาคม 2557) ผมไม่แนะนำให้ใช้ครับ

    ขอให้ตรวจสอบทุกครั้งก่อนใช้งานใส่ username ลงไปนะครับ

  • การป้องกัน Man In The Middle (MITM) ดักบัญชีผู้ใช้และรหัสผ่าน

    การป้องกัน Man In The Middle (MITM) ดักบัญชีผู้ใช้และรหัสผ่าน

    Man In The Middle (MITM) คือ เทคนิคการโจมตีของแฮคเกอร์ที่จะปลอมเป็นคนกลางเข้ามาแทรกสัญญาณการรับส่งข้อมูลระหว่างผู้ใช้ (เบราว์เซอร์) และเซิร์ฟเวอร์  โดยใช้โปรแกรมดักฟังข้อมูลของเหยื่อ แล้วแฮกเกอร์ก็เป็นตัวกลางส่งผ่านข้อมูลให้ระหว่างเบราว์เซอร์กับเซิร์ฟเวอร์ วิธีการทำอย่างหนึ่งคือ การส่งข้อมูล MAC Address ของเครื่องของแฮกเกอร์ไปให้กับเครื่องของผู้ใช้โดยแจ้งว่าเป็น MAC Address ของ Gateway ของระบบเครือข่าย หลังจากนั้นเมื่อเครื่องเหยื่อรับ MAC Address ดังกล่าวไปใส่ไว้ใน ARP Table cached แล้ว กระบวนการส่งข้อมูลจากเบราว์เซอร์ของเครื่องเหยื่อจะถูกส่งผ่านไปยังเครื่องแฮกเกอร์ก่อนที่จะส่งไปยังเครื่องเซิร์ฟเวอร์
    maninthemiddleattack
    ที่มารูปภาพ: http://www.computerhope.com

    ดังนั้นเมื่อเครื่องเหยื่อเข้าไปยังหน้าเว็บเพจที่ต้อง login ด้วย Username และ Password โปรแกรมดักฟังข้อมูลก็จะทำการส่งหน้าเว็บเพจที่ไม่ได้ป้องกันไปให้เครื่องเหยื่อ ดังรูป
    arp-hack-google

    ผู้ใช้ทั่วไปจะสังเกตไม่ออก (หรือไม่มีความรู้) ก็จะคลิกผ่านคำเตือนใดๆที่เบราว์เซอร์แจ้งเตือนไปแล้วสุดท้ายผู้ใช้งานก็จะใส่ Username และ Password ในหน้า login ซึ่งแฮกเกอร์ก็จะได้ข้อมูลดังกล่าว ดังรูป
    arp-hack-google-2

    การทดสอบเทคนิคการโจมตีวิธีนี้ง่ายมากๆเลย เพียงแค่ค้นหาใน search engine ก็จะพบวิธีการทั้งทำการด้วยโปรแกรมบนวินโดวส์หรือโปรแกรมบนลินุกซ์ ผมจะไม่ลงรายละเอียดการทดสอบในบทความนี้นะครับ

    ผมพบว่าการป้องกันที่ดีที่สุดคือ หนึ่ง การให้ความรู้วิธีการใช้งานเบราว์เซอร์ทั้ง IE, Google Chrome, Firefox หรือ Safari เป็นต้น ความรู้ที่ว่าก็คือ ผู้ใช้ต้องสังเกตว่า เว็บเพจที่เข้าใช้งานประจำนั้นปรกติหน้า login จะต้องมีอักษร https แสดงอยู่ที่มุมซ้ายบรรทัดที่อยู่ของเว็บเพจ เช่น https://www.facebook.com ดังรูป
    https-facebook

    และจะต้องไม่มีการเตือนว่า “ไม่ปลอดภัย” และถามว่า “จะดำเนินการต่อหรือไม่” ดังรูป
    arp-hack-facebook

    แต่หากวันใดที่เราถูกแฮกเกอร์ทำ MITM กับเครื่องของเราแล้ว เราจะเห็นหน้าเว็บเพจแปลกไปจากเดิม เราจะต้องไม่คลิกปุ่มเพื่อดำเนินการต่อไป แต่หากคลิกต่อไปแล้วจะเห็นแบบดังรูป
    arp-hack-facebook-2

    และถ้าใส่ Username และ Password ก็ถูกดักไปได้ครับ ดังรูป
    ettercap-20141214

    เราสามารถตรวจสอบด้วยวิธีอย่างง่ายๆด้วยคำสั่ง arp -a ทั้งบนวินโดวส์และลินุกซ์ เพื่อดูว่ามีเลข MAC Address ของ IP คู่ใดบ้างที่ซ้ำกัน มักจะเป็นคู่ระหว่าง IP ของ Gateway กับ IP ของเครื่องแฮกเกอร์ ดังรูป
    arp-a_cmd
    ถ้าเห็นอย่างนี้แสดงว่า “โดนเข้าแล้วครับ” ทางแก้ไขทางเดียวคือปิดเครื่องและแจ้งผู้ดูแลระบบประจำหน่วยงานของท่าน

    สอง การป้องกันตัวเองไม่ต้องรอพึ่งระบบเครือข่าย(เพราะอาจไม่มีระบบป้องกัน) ในทุกครั้งที่เปิดเครื่องและก่อนใช้งานใดๆ ให้ใช้คำสั่ง arp -s เพื่อทำ static ค่า IP กับ MAC ของ Gateway ลงในตาราง ARP ของเครื่องคอมฯ

    คำสั่ง คือ arp -s [IP ของ Gateway] [MAC Address ของ Gateway]
    เราจะรู้ค่า IP และ MAC Address ของ Gateway ก็ด้วยคำสั่งดังนี้
    1. ดูว่า IP ของ Gateway (default) คือเบอร์ใด
    ลินุกซ์
    ip route show
    วินโดวส์
    route -4 print

    2. arp -a เพื่อดูค่า IP กับ MAC คู่ที่ต้องการ
    เช่น
    IP ของ Gateway คือ 192.168.10.1 และ
    MAC Address ของ Gateway คือ 00-13-64-2b-3d-a1
    ก็ใช้คำสั่งว่า
    arp -s 192.168.10.1 00-13-64-2b-3d-a1

    โดยที่เครื่องวินโดวส์รุ่นใหม่ๆ (8 ขึ้นไป) ให้คลิกขวาที่ปุ่ม Start เลือก “Command Prompt (Admin)” เพื่อเปิดหน้าต่าง Cmd ดังรูป
    arp-s_cmd
    ส่วนเครื่องลินุกซ์ ให้เปิด Terminal แล้วใส่คำว่า sudo นำหน้าคำสั่งนั้นด้วย ดังรูป
    arp-s_cmd_linux

    เพียงเท่านี้ ท่านก็จะเล่นอินเทอร์เน็ตได้อย่างปลอดภัย ไม่มีมือที่มองไม่เห็นมาขโมย Username และ Password ของเรา

    เพิ่มเติมให้อีกนิดนะครับ หากผู้ใช้ต้องการใช้โปรแกรมสำเร็จรูป สำหรับวินโดวส์ก็มีโปรแกรมชื่อ xarp ซึ่งจะคอยเช็คเรื่องนี้ให้เองตั้งแต่เปิดเครื่อง ส่วนใครใช้ smart phone ที่ใช้ android ก็จะมีโปรแกรมชื่อว่า droidsheep เพื่อคอยเช็คให้เช่นกันลองติดตั้งใช้ดูนะครับ

    อ่านเพิ่มเติมได้นะ
    http://www.computerhope.com/jargon/m/mitma.htm
    http://incognitolab.com/2013/05/07/https-insecurity-part-2/

  • ไปงานมหกรรมซอฟต์แวร์โอเพนซอร์สแห่งประเทศไทย ครั้งที่ 12

    งานมหกรรมซอฟต์แวร์โอเพนซอร์สแห่งประเทศไทย ครั้งที่ 12 จัดที่ สถาบันการจัดการปัญญาภิวัฒน์ จ.นนทบุรี เป็นงานสัมมนาที่ดี วิทยากรที่มาบรรยายก็มีความรู้และทำงานอยู่ในภาคธุรกิจจริง สามารถถ่ายทอดได้เห็นภาพการนำโอเพนซอร์สซอฟต์แวร์ไปใช้งาน

    ossfest2014-hall

    เนื้อหาสาระโดยสรุป กิจกรรมที่น่าสนใจได้แก่
    – โซนงาน
    1. โซนงานสัมมนา Conference/Seminar
    การสัมมนา/เสวนา ที่มีเรื่องราวโอเพนซอร์สซอฟต์แวร์ที่น่าสนใจ ตั้งแต่ระดับผู้ใช้งานตามบ้านทั่วไป ระดับองค์กรธุรกิจ ผู้ประกอบการ ระดับภาคการศึกษา รวมถึงบริการออนไลน์ที่น่าสนใจ
    2. โซนห้องอบรมย่อย Workshop
    3. โซนห้องจัดแสดงนิทรรศการ/บูธประชาสัมพันธ์ Exhibition

    – มอบรางวัล Open Source Award ประจำปี 2014
    ซึ่งในปีนี้ พระวิภัทร ปัาวุฑฺโฒ (วิภัทร ศรุติพรหม) ได้รับรางวัลซึ่งเป็น 1 ใน 3 รางวัลที่แจกในปีนี้ (ร่วมแสดงความยินดี)

    – keynote topic 2 เรื่องคือ
    1. Digital Economy based on Open Data and Open Access Approach โดย ดร.วิรัช ศรเลิศล้ำวาณิช เป็นเรื่องราวเกี่ยวกับการนำเสนอแนวทางในการสนองตอบนโยบายประเทศในเรื่อง Digital Economy โดยวิทยากรนำเสนอว่า ในโลกอินเทอร์เน็ตปัจจุบัน เต็มไปด้วยข้อมูลทั้งแบบมีโครงสร้างและไม่มีโครงสร้างเช่น facebook เป็นต้น และเป็นแหล่งข้อมูลที่เปิดให้ทุกคนนำสิ่งต่างๆที่โพสต์กันอยู่ใน social network นำไป process เพื่อให้ได้ข้อมูลเป็นสถิติเพื่อใช้ในการทำธุรกิจได้ หรือสามารถรับทราบความเป็นไปในสังคมแบบเรียลไทม์ได้
    2. Open in the cloud from Microsoft Openness (Microsoft) โดยตัวแทนจากไมโครซอฟต์
    เป็นเรื่องราวเกี่ยวกับการนำเสนอ Microsoft Azure ผลิตภัณฑ์ที่รองรับการทำงานแบบ cloud ทำให้ไม่ว่าผู้ใช้จะใช้ open source server หรือ software ก็สามารถรันบน cloud จากการใช้ผลิตภัณฑ์ตัวนี้ได้ แบบมีค่าใช้จ่ายที่คิดตามการเลือกใช้งานและเวลาที่ใช้งาน ซึ่งสามารถเลือกได้ว่าต้องการทรัพยากรเท่าไร ติดตั้ง server ใหม่ได้ในเวลาอันสั้นโดยการเลือก template ที่ต้องการ

    – หัวข้อสัมมนาอื่นๆอีกมากมาย เช่น
    1. OpenStack : คุณดำรงศักดิ์ รีตานนท์ แนะนำให้ความรู้เบื้องต้น
    2. Social Media เพื่อการประชาสัมพันธ์ : คุณชีพธรรม ไตรคำวิเศษ เล่าให้ฟังขายไอเดียเรื่องคนไทยอ่อนประชาสัมพันธ์ และนำเสนอ Tweet deck (https://tweetdeck.twitter.com/) การใช้แอพ Tweetdeck สำหรับการใช้ Twitter แบบเหนือเมฆ
    3. Open Source และเทคโนโลยีเบื้องหลังระบบขนาดใหญ่ : คุณกิตติรักษ์ ม่วงมิ่งสุข เล่าเรื่อง facebook และ google ใช้ open source software ในเบื้องหลังการให้บริการ
    4. Wireless & Web Application Security with KALI Linux : อ.ขจร สินอภิรมย์สราญ เล่าเรื่องเกี่ยวกับระบบปฏิบัติการ Linux ที่ปรับแต่งเพิ่มเติมซอฟต์แวร์ในการเจาะระบบเพื่อใช้ในการเรียนรู้การรักษาความปลอดภัย ด้วยเวลาที่จำกัดจึงเล่าให้ฟังในส่วน Wireless LAN ถึงวิธีการและซอฟต์แวร์ที่ใช้ในการเจาะ Symmetric and Asymmetric Encryption
    5. Open Source Experience in DTAC : คุณทวิร พาณิชย์สมบัติ เล่าถึงประสบการณ์ในการนำโปรแกรมที่พัฒนาด้วย tools ต่างๆที่เป็น open source เข้าไปใช้งานทดแทนโปรแกรมเดิมที่มีค่าใช้จ่ายของ tools ที่ใช้ในการพัฒนา และเล่าให้ฟังถึงการปรับตัวของโปรแกรมเมอร์ในองค์กรที่ได้นำโปรแกรมใหม่นี้เข้าไปให้ใช้ ซึ่งต้องปรับตัวเองในการค้นคว้าหาคำตอบจากอินเทอร์เน็ตแทนการรอคอย vender ให้ความช่วยเหลือ
    6. Open Source กับ Digital TV : คุณโดม เจริญยศ เล่าถึงประสบการณ์ในการทำงานให้กับบริษัท TV Pool ในการเข้าไปประมูลงาน Digital TV ในเมืองไทย เล่าถึงการที่ต้องทำความเข้าใจการสื่อสารคำศัพท์ของคนในวงการไอที กับ คนในวงการบรอดคาสติ้ง จะเข้าใจไม่เหมือนกัน เช่น ความละเอียดของภาพ ขนาดของภาพ จะใช้ชื่อที่อ้างถึงแล้วเข้าใจตรงกันในวงการ และเล่าถึงการจัดซื้ออุปกรณ์เพื่อนำมาใช้ทำบริการ Digital TV เป็นการลดต้นทุนได้อย่างมหาศาลจากที่สำรวจตลาดว่ามีอะไรให้ใช้งานได้บ้าง แล้วมีโอเพนซอร์สซอฟต์แวร์อะไรให้ใช้ได้บ้าง และเล่าถึงการให้บริการ 24X7 ของการออกอากาศว่าจำเป็นต้องมีการจัดทำระบบ backup ไว้ด้วยในลักษณะ active – active ส่งสัญญาณออกอากาศด้วยชุด 2 ชุด พร้อมกัน และยังมีอีก 1 ชุด stand by รอชุด active ชุดใดชุดหนึ่งเสีย ก็เปลี่ยนแทนได้เลย
    7. Open source tools for multimedia production : คุณพีรพัทธ์ นันนารารัตน์ เล่าให้ฟังถึงวงการทำสื่อสิ่งพิมพ์และภาพยนตร์ การเลือกใช้ซอฟต์แวร์โอเพนซอร์สที่เป็นที่นิยมหลายตัว เช่น Darktable, Lives, Tupi, Synfig Studio, Audacity, Flash Develop, Blender เป็นต้น โดยเฉพาะ Blender นั้นเป็น tool ในการทำ effect ภาพยนตร์ที่ใช้งานได้จริง ได้นำ demo ภาพยนตร์ที่ทำจาก Blender มาให้ชมด้วย
    8. Open Source Road Map 2015 : ตัวแทนจากชมรมผู้ประกอบการโอเพนซอร์ส ภายใต้สมาคมสมาพันธ์โอเพนซอร์สแห่งประเทศไทย เล่าให้ฟังถึงสิ่งที่จะทำในปีค.ศ.2015 คือ การพัฒนานักพัฒนาด้านโอเพนซอร์สเป็นสาระสำคัญ แต่ก็ไม่ละเลยส่วนอื่นๆไปซะทีเดียว

    – และยังมีหัวข้อสัมมนาอื่นๆที่ไม่ได้เข้าฟังอยู่ในอีกหลาย Track เช่น Bootstrap 3 มนต์มายาแห่ง Open Source เป็นต้น

    – เสวนา 2 เรื่อง
    1. เสวนาเรื่องเทคโนโลยีกับการศึกษาไทย (Google for Education, CAT, ABAC)
    ในการเสวนานี้ เน้นไปที่การให้บริการ cloud โดย CAT เล่าเกี่ยวกับการให้บริการ cloud ที่มีค่าใช้จ่ายสำหรับหน่วยงานที่ต้องการใช้ cloud หรือจะสนับสนุนผลิตภัณฑ์ของคนไทยด้วยกัน ส่วน Google for Education ก็แสดงให้เห็นจุดยืนเกี่ยวกับการให้บริการ cloud ผ่านระบบที่เรียกว่า Google App for Education โดยไม่มีค่าใช้จ่ายในการใช้งาน และเล่าเรื่องการใช้งานที่มหาวิทยาลัยอัสสัมชัญ
    2. เสวนาเกี่ยวกับโปรเจ็คโอเพนซอร์สในมหาวิทยาลัย (มหาวิทยาลัยบูรพา, มหาวิทยาลัยสงขลานครินทร์, มหาวิทยาลัยขอนแก่น, มหาวิทยาลัยเทคโนโลยีสุรนารี, สถาบันการจัดการปัญญาภิวัฒน์)
    ในการเสวนานี้พอจะจับจุดสำคัญของแต่ละมหาวิทยาลัยได้ดังนี้
    มหาวิทยาลัยบูรพา จะเน้นไปที่กิจกรรมการเข้าค่ายเพื่อสร้างความตระหนักให้นักศึกษาคณะทางด้านไอทีเข้ามาเป็นพลเมืองนักพัฒนาโอเพนซอร์ส นอกเหนือไปจากการใช้ซอฟต์แวร์โอเพนซอร์ส และเชิญชวนทุกมหาวิทยาลัยเข้าร่วมกิจกรรมค่ายด้วยกัน
    มหาวิทยาลัยสงขลานครินทร์ จะเน้นไปที่กิจกรรมการให้ความรู้การนำโอเพนซอร์สซอฟต์แวร์ทางด้านเดสก์ทอปเพื่อการเรียนการสอน ทั้งการอบรมภายในมหาวิทยาลัยและออกไปจัดตั้งห้องคอมพิวเตอร์ให้กับโรงเรียนในสามจังหวัดชายแดนภาคใต้
    มหาวิทยาลัยขอนแก่น จะเน้นไปที่การเลือกใช้ซอฟต์แวร์ที่เหมาะสมกับสิ่งที่จะทำในช่วงเวลานั้น และเป็นมหาวิทยาลัยที่ผู้ช่วยอธิการบดีเป็นผู้ทำงานอยู่กับไอที และใช้โอเพนซอร์สซอฟต์แวร์แทบทุกตัว รวมทั้งมีค่าใช้จ่ายกับซอฟต์แวร์ประเภทที่ต้องจัดซื้อด้วยเช่นกัน และเป็นมหาวิทยาลัยแรกๆที่ใช้ Google App for Education โดยทุกคนหันมาร่วมกันใช้โดยไม่ได้บังคับ
    มหาวิทยาลัยเทคโนโลยีสุรนารี จะเน้นไปที่การพัฒนาซอฟต์แวร์การจัดสอบออนไลน์ที่ทำด้วยโอเพนซอร์ส เนื่องจากว่าไม่ได้มีเวลามากพอจึงไม่ได้พูดถึงประเด็นอื่นๆ
    สถาบันการจัดการปัญญาภิวัฒน์ จะใช้ moodle เป็น e-learning ของสถาบันแบบเต็มรูปแบบ และ ยังมีซอฟต์แวร์โอเพนซอร์สสำหรับเตรียมสไลด์การสอนด้วย prezi (http://prezi.com/windows/) และใช้ server และ web server ต่างๆเป็นโอเพนซอร์สทั้งหมดสำหรับที่ต้องลงมือทำเอง

    สามารถดูหัวข้อการสัมมนาทั้งหมดได้ที่ http://www.ossfestival.in.th/

    การไปร่วมงานในครั้งนี้ ทำให้ได้รับข่าวสารอัปเดตทิศทางของโอเพนซอร์สซอฟต์แวร์ในปัจจุบัน ยังคงไม่มีนโยบายที่ชัดเจนในระดับประเทศ และทราบว่าโอเพนซอร์สซอฟต์แวร์ที่นำมาเสนอในงานสัมมนาครั้งนี้เป็นความสามารถของวิทยากรแต่ละท่านที่ต้องการลดต้นทุนการซื้อซอฟต์แวร์ที่จะต้องใช้ในงานที่จะนำไปเสนอขายให้ลูกค้า โดยใช้ความรู้ของวิทยากรค้นหาความรู้จากอินเทอร์เน็ต จึงได้นำประสบการณ์มาเล่าสู่กันฟังในงานสัมมนา

    ผมก็เล่าให้ฟังแบบที่พอจะจับประเด็นได้นะครับ หากผิดพลาดประการใดก็ขออภัยไว้ ณ ที่นี้ด้วย หากมีข้อมูลเพิ่มเติมก็บอกได้นะครับ

    วิบูลย์

  • มือใหม่คุยกันเรื่องใช้ 3G แล้วปล่อย WiFi hotspot ให้ Notebook

    มือใหม่คุยกันเรื่องใช้ 3G แล้วปล่อย WiFi hotspot ให้ Notebook

    เมื่อ A มี Android smartphone ใส่ SIM 3G ของ TRUE-H และต้องการปล่อย WiFi ให้กับ notebook windows ใช้งานเน็ตด้วย จึงขอคำแนะนำจาก B

    A: ใช้ 3G ไม่ได้ มันแสดงเป็น E ตลอด
    B: ต้องค้นหาดูใน google ก่อนนะ ใช้ google พิมพ์คำว่า 52004 มันก็บอกว่า ของทรู

    A: ตอนนี้ต้องตั้งผู้ให้บริการเป็นเบอร์อะไร
    B: 52004

    A: ตั้งแล้ว แต่มันชอบหลุดแบบ ต้องตั้งค่าเครื่องข่ายใหม่
    B: มันเป็น 3G โอเคแล้วครับ เหลือว่าจะทำอย่างไรให้มันนิ่ง

    A: อืมๆ
    B: ค้นเจอว่า AIS call center บอกว่า “ให้เปิด Roaming เพื่อให้คุณใช้งานได้อย่างต่อเนื่องเมื่ออยู่นอกพื้นที่ AIS 3G 2100”
    แสดงว่า true ก็น่าจะทำนองเดียวกัน

    A: คืออะไรอ่า
    B: ติ๊กที่ตัวเลือก Roaming ด้วย

    A: มันบอกว่าอาจมีค่าใช้จ่ายจำนวนมาก
    B: กดได้ใช่มั้ย

    A: AIS call center บอกว่า “ไม่มีค่าบริการเพิ่มค่ะ”
    B: อืมๆ

    A: ทรูน่าจะเหมือนกันใช่มั้ย
    B: คิดว่านะ
    A: โอเครๆ

    B: มีคำแนะนำเพิ่มเพื่อให้เน็ตมันนิ่ง เลือก Network Mode เป็น WCDMA Only ดังนี้
    เมื่อเข้ามาที่หน้า Mobile Networks ให้ทำเครื่องหมายถูกที่หัวข้อ Data Roaming
    SC20140802-154727
    เพื่อว่าในกรณีที่จำเป็นต้องมีการ Roaming ก็ยังสามารถใช้งาน 3G หรือ EDGE ของ TrueMove แทนได้ แล้วเลือก Network Mode เป็น WCDMA Only
    SC20140802-160525
    สุดท้ายก็เลือก Network Operators เป็น TRUE-H หรือ ตัวเลข 52004
    A: อะเคร

    B: โน้ตบุ๊ค Windows 8.1 ให้ตั้งค่า Control panel > System and Security > Windows Update > change setting > Choose Check for updates but let me choose whether to download and install them
    A: นี่สำหรับคอมใช่มั้ย
    B: ใช่ เพื่อประหยัด ไม่ให้มันดาวน์โหลดอัปเดตผ่าน 3G

    B: แจ้งข่าวกลับมาด้วยนะว่าตั้งค่า data roaming แล้ว มันดีขึ้นไม๊
    A: โอเครๆ รอดูสักวันนึงก่อน

    B: ส่วนการเปิด WiFi Hotspot ก็ตามนี้
    เลือก Main menu > การตั้งค่า > การเชื่อมต่อไร้สายและเครือข่าย > การเชื่อมโยงเครือข่ายและฮอตสปอต > ฮอตสปอต Wi-Fi แบบพกพา > คลิก ถูก ที่ ฮอตสปอต Wi-Fi แบบพกพา > คลิก ตกลง
    จะมีรูปไอคอน “การส่งข้อความปกติจำนวนมาก ทำต่อ?”
    A: โอเคร

    อ้างอิง:
    1. วิธีตั้งค่า มือถือ ที่ใช้ TrueMove H ไม่ให้สลับไปใช้โหมดโรมมิ่ง (Roaming) ทำอย่างไร? (URL: http://www.thaimobilecenter.com/home/mobile_tips_detail.asp?nid=119)
    2. How to Control When Windows 8 Installs Updates (URL: http://pcsupport.about.com/od/windows-8/a/windows-update-settings-windows-8.htm)

  • แนะนำ 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

  • ความเข้าใจในการสร้าง virtualhost ของ apache2 web server บน ubuntu 14.04 server ฉบับ workshop

    ถ่ายทอดความเข้าใจในการสร้าง virtualhost ของ apache2 web server บน ubuntu 14.04 server ฉบับ workshop พร้อมตัวอย่างติดตั้ง phpmyadmin และ joomla site เป็น virtualhost

    -:เกรินนำ:-
    การเปลี่ยนจาก ubuntu 12.04 server ไปเป็น ubuntu 14.04 server เมื่อเร็วๆนี้ ส่งผลให้มีการเปลี่ยนแปลงวิธีการ config virtualhost บน Apache2 web server

    เพราะว่า Apache2 web server (2.4.x ขึ้นไป) เช่น 2.4.7 ที่มาพร้อม ubuntu 14.04 server จะมีการจัดการเรื่อง Document root ที่แตกต่างจากเวอร์ชั่นที่ต่ำกว่า เช่น Document root จะอยู่ที่ /var/www/html แทนที่จะเป็น /var/www เหมือนเดิม ดังนั้นเมื่อทำ virtualhost จึงต้องมีการเลือกวางไดเรกทอรีของเว็บเพจที่จะติดตั้ง ตามความคิดเห็นของผมคิดว่าสามารถเลือกวางได้เป็น 2 แบบ
    แบบที่ 1 วางไว้ที่ /var/www/html/ หรือ
    แบบที่ 2 วางไว้ที่ /var/www/

    มาดูกันครับว่าจะต้องทำอย่างไรบ้าง เริ่มต้นที่หลังจากติดตั้ง ubuntu 14.04 server เสร็จ พร้อมทั้งได้ติดตั้ง packages LAMP หากไม่แน่ใจก็ตรวจสอบ/ติดตั้งเพิ่มด้วยคำสั่ง sudo tasksel

    ในบทความนี้มีการอ้างถึง editor ที่ใช้แก้ไขไฟล์ชื่อ vi (ผู้เขียนถนัดและชอบ) หากไม่คุ้นเคยวิธีใช้ก็ให้เปลี่ยนเป็น editor ชื่อ nano ซึ่งจะเป็น full screen editor

    หากต้องการทดสอบทำตามไปด้วย ให้ดาวน์โหลด LSA-router.ova จาก http://ftp.psu.ac.th/pub/psulab/LSA-II/ แล้วนำไป import เข้าโปรแกรม Oracle VM VirtualBox จากนั้น Start VM LSA-router (IP ที่ใช้คือ 10.0.100.1 เป็นทั้ง NAT router, DNS server และ DHCP server)

    แล้วก็สร้าง New VM ขึ้นมา 1 ตัว โดยตั้งค่า Network เป็นแบบ Internal network และมีค่า name คือ intnet พร้อมทั้งติดตั้ง Ubuntu 14.04 server ให้เสร็จ โดยตั้งค่า IP 10.0.100.9

    1.แบบใช้ NameVirtualHost

    -:การตรวจสอบความพร้อมของ apache2 web server:-
    เข้าไปที่ไดเรกทอรี
    mama@ubuntu:$ cd /var/www/html/

    เริ่มต้น apache2 web server จะมีไฟล์ index.html มาให้
    mama@ubuntu:/var/www/html$ ls
    index.html

    ทดสอบด้วยคำสั่ง w3m ได้
    mama@ubuntu:/var/www/html$ w3m http://127.0.0.1
    เห็นหน้าเว็บเพจ default แสดงข้อความ
    Apache2 Ubuntu Default Page
    It work!
    กด Ctrl+c เลิกดู

    ลองสร้างไฟล์ test.php
    mama@ubuntu:/var/www/html$ sudo vi test.php
    เพิ่มบรรทัด 1 บรรทัด

    <?php phpinfo() ?>

    ผลลัพธ์จะมีไฟล์เพิ่มขึ้น
    mama@ubuntu:/var/www/html$ ls
    index.html  test.php

    เมื่อดูข้อมูลด้วยคำสั่ง cat
    mama@ubuntu:/var/www/html$ cat test.php
    จะเห็นแบบนี้
    <?php phpinfo() ?>

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/var/www/html$ w3m http://127.0.0.1/test.php
    เห็นหน้าเว็บเพจ php info

    -:เริ่มทดสอบแบบที่ 1:-
    แบบ 1 สร้างไดเรกทอรีที่เก็บไฟล์ virtual host ไว้ที่ /var/www/html

    จะสร้าง virtual host ชื่อ iserver.example.com

    ให้ตรวจสอบ domain name ว่ามีแล้วยัง
    mama@ubuntu:$ host iserver.example.com
    iserver.example.com has address 10.0.100.9

    เข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้
    mama@myrouter:~$ sudo vi /var/cache/bind/db.example.com
    เพิ่มบรรทัด

    iserver.example.com.        IN A     10.0.100.9

    แล้ว reload DNS server
    mama@myrouter:~$ sudo service bind9 reload

    กลับไปที่ VM web server (IP 10.0.100.9)
    สร้างที่เก็บไฟล์ของ virtual host ไว้ที่ /var/www/html
    mama@ubuntu:/var/www/html$ sudo mkdir iserver.example.com

    ผลลัพธ์จะมีไดเรกทอรีเพิ่มขึ้น
    mama@ubuntu:/var/www/html$ ls
    index.html  iserver.example.com  test.php

    สร้างไฟล์ตัวอย่างชื่อ index.php
    mama@ubuntu:/var/www/html$ sudo vi iserver.example.com/index.php
    ให้มีบรรทัดดังนี้

    <?php echo "Hello, world! from iserver.example.com"; ?>

    ผลลัพธ์จะมีไฟล์เพิ่มขึ้น
    mama@ubuntu:/var/www/html$ ls iserver.example.com/
    index.php

    เมื่อดูข้อมูลด้วยคำสั่ง cat
    mama@ubuntu:/var/www/html$ cat iserver.example.com/index.php
    <?php echo “Hello, world! from iserver.example.com”; ?>

    ต่อไปเราจะเพิ่ม site ให้ apache2 web server รู้จัก
    เข้าไปที่ไดเรกทอรีสำหรับเพิ่ม site
    mama@ubuntu:/var/www/html$ cd /etc/apache2/sites-available

    จะมีไฟล์ตอนเริ่มต้นแค่นี้
    mama@ubuntu:/etc/apache2/sites-available$ ls
    000-default.conf  default-ssl.conf

    ให้ copy ไฟล์ 000-default.conf เพื่อความสะดวก ชื่อมี .conf ต่อท้ายด้วย
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp 000-default.conf iserver.example.com.conf

    ผลลัพธ์จะมีไฟล์เพิ่มขึ้น
    mama@ubuntu:/etc/apache2/sites-available$ ls
    000-default.conf  default-ssl.conf  iserver.example.com.conf

    แก้ไขไฟล์ iserver.example.com.conf เพื่อกำหนดค่า virtualhost
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi iserver.example.com.conf
    แก้ไขเฉพาะบรรทัดข้างล่างนี้

    NameVirtualHost iserver.example.com:80
     <VirtualHost iserver.example.com:80>
     ServerName iserver.example.com
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html/iserver.example.com

    เพิ่ม site ให้ apache2 web server รู้จัก
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite iserver.example.com

    สั่ง reload apache2 web server
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://iserver.example.com/
    เห็นหน้าเว็บเพจ
    Hello, world! from iserver.example.com

    แต่หากใช้ IP แทนชื่อ จะยังคงเข้าถึงเว็บเพจภายใต้ DocumentRoot /var/www/html
    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://127.0.0.1
    ยังคงเห็นหน้าเว็บเพจ default แสดงข้อความ
    Apache2 Ubuntu Default Page
    It work!

    mama@ubuntu:/etc/apache2/sites-available$ w3m http://127.0.0.1/test.php
    ยังคงเห็นหน้าเว็บเพจ php info

    mama@ubuntu:/etc/apache2/sites-available$ w3m http://127.0.0.1/iserver.example.com
    และแถมด้วยเห็นหน้าเว็บเพจของ virtualhost iserver.example.com ด้วย
    Hello, world! from iserver.example.com

    แต่ถ้าต้องการไม่ให้เข้าถึงเว็บเพจภายใต้ /var/www/html
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2dissite 000-default

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://127.0.0.1/test.php
    ผลลัพธ์จะเห็นว่า หาเว็บเพจไม่พบแล้ว
    Not Found
    The requested URL /test.php was not found on this server.
    ——————————————————————————-
    Apache/2.4.7 (Ubuntu) Server at 127.0.0.1 Port 80

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://127.0.0.1/iserver.example.com
    ผลลัพธ์จะเห็นว่า หาเว็บเพจไม่พบแล้ว
    Not Found
    The requested URL /iserver.example.com was not found on this server.
    ——————————————————————————-
    Apache/2.4.7 (Ubuntu) Server at 127.0.0.1 Port 80

    -:เริ่มทดสอบแบบที่ 2:-
    แบบที่ 2 สร้างไดเรกทอรีที่เก็บไฟล์ virtual host ไว้ที่ /var/www

    ทำ virtualhost เช่น www.example.com และ
    ชี้ DocumentRoot ที่ /var/www/www.example.com

    ตรวจสอบว่าเรามี domain name แล้ว
    mama@ubuntu:$ host www.example.com
    www.example.com is an alias for iserver.example.com.
    iserver.example.com has address 10.0.100.9

    เข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้
    mama@myrouter:~$ sudo vi /var/cache/bind/db.example.com
    เพิ่มบรรทัด

    www      IN CNAME iserver

    แล้ว reload dns server
    mama@myrouter:~$ sudo service bind9 reload

    กลับไปที่ VM web server (IP 10.0.100.9)
    เข้าไปที่ไดเรกทอรี
    mama@ubuntu:$ cd /var/www/

    สร้างไดเรกทอรีชื่อ www.example.com
    mama@ubuntu:/var/www$ sudo mkdir www.example.com

    สร้างไฟล์ตัวอย่างของเว็บไซต์
    mama@ubuntu:/var/www$ sudo vi www.example.com/index.php
    มีข้อความเพียง 1 บรรทัด

    <?php echo "WWW Hello, world!"; ?>

    ผลลัพธ์จะมีไฟล์เพิ่มขึ้น
    mama@ubuntu:/var/www$ ls www.example.com/
    index.php

    ใช้คำสั่ง cat แสดงข้อมูลในไฟล์
    mama@ubuntu:/var/www$ cat www.example.com/index.php
    จะเห็น
    <?php echo “WWW Hello, world!”; ?>

    เข้าไปไดเรกทอรีสำหรับจัดการ config site
    mama@ubuntu:/var/www$ cd /etc/apache2/sites-available

    ใช้คำสั่ง ls ดูรายชื่อไฟล์
    mama@ubuntu:/etc/apache2/sites-available$ ls
    000-default.conf  default-ssl.conf  iserver.example.com.conf

    สร้างไฟล์สำหรับ config virtual host ชื่อมี .conf ต่อท้ายด้วย
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp 000-default.conf www.example.com.conf

    แก้ไขไฟล์ www.example.com.conf
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi www.example.com.conf
    แก้ไขเฉพาะบรรทัดข้างล่างนี้

    NameVirtualHost www.example.com:80
     <VirtualHost www.example.com:80>
    ServerName www.example.com
    ServerAdmin webmaster@localhost
     DocumentRoot /var/www/www.example.com

    สั่งให้ apache2 รับ site ใหม่
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite www.example.com

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://www.example.com
    จะเห็นหน้าเว็บเพจ
    WWW Hello, world!

    งานทดสอบเรื่องต่อไป คือ ถ้าต้องใช้ https ด้วย จะทำอย่างไร
    ถ้าต้องการใช้ https เราจะต้องเลือก config ให้ใช้ self-signed certificate ที่ apache2 web server ให้มาแล้ว หรือว่า จะซื้อ trusted root certificate ที่มีขายในอินเทอร์เน็ต

    เริ่มต้นตรวจสอบ จะพบว่า https ยังใช้งานไม่ได้ ควรที่จะเกิด error ไม่สามารถเข้าถึงได้ เพราะเรายังไม่ได้ enable https บน www.example.com
    จะเห็นแบบนี้
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    w3m: Can’t load https://www.example.com.

    เราสามารถ enable https โดยใช้คำสั่ง
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2enmod ssl
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite default-ssl
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    จะมีคำเตือนในเรื่อง certificate ที่ไม่ถูกต้อง เนื่องจากเป็น self-signed certificate ก็กด Y ไปเรื่อยๆ จะเข้าไปยังเว็บเพจได้
    จะเห็นแบบนี้
    Apache2 Ubuntu Default Page
    It work!

    ต่อไปก็จะทำให้ใช้งาน https ได้แบบใช้ self-signed certificate
    ให้ copy ไฟล์ www.example.com.conf เป็นอีกไฟล์ให้มีชื่อ ssl ด้วยเพื่อให้จำง่าย
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp www.example.com.conf www.example.com-ssl.conf

    แก้ไขไฟล์ www.example.com-ssl.conf
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi www.example.com-ssl.conf
    แก้ไขสองบรรทัดแรกจาก
    NameVirtualHost www.example.com:80
    <VirtualHost www.example.com:80>
    เป็น

    NameVirtualHost www.example.com:443
     <VirtualHost www.example.com:443>

    และเพิ่ม

    SSLEngine on
     SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
     SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

    ก่อนบรรทัด
    </VirtualHost>
    หลังจากนั้น save file

    และใช้คำสั่งเพื่อให้ apache2 รับ site ใหม่
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite www.example.com-ssl

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ถึงตรงนี้เราก็จะสามารถเข้าถึง URL https://www.example.com ได้ตามต้องการ

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    จะมีคำเตือนในเรื่อง certificate ที่ไม่ถูกต้องอยู่ต่อไป เนื่องจากเป็น self-signed certificate ก็กด Y ไปเรื่อยๆ จะเข้าไปยังเว็บเพจได้
    จะเห็นหน้าเว็บเพจ
    WWW Hello, world!

    [ติดตั้ง phpmyadmin]
    บ่อยครั้งที่ผมจะได้รับคำถามว่าต้องการใช้ phpmyadmin เพื่อเข้าไปจัดการ database mysql ก็ขอทดสอบร่วมด้วยซะเลยครับ (ขอขอบคุณอ.ฉัตรชัย จันทร์พริ้ม ผู้ให้ความรู้เรื่องการติดตั้ง phpmyadmin)

    สมมติว่า
    IP ของ web server คือ 10.0.100.9
    MySQL server Administrator คือ root มี password คือ 123456

    ใช้คำสั่งติดตั้งดังนี้
    mama@ubuntu:~$ sudo apt-get install phpmyadmin
    จะมีหน้าต่างให้เลือกข้อมูล
    -เลือก apache2 เป็น web server เพื่อที่จะกำหนด config ของ phpmyadmin ให้ใช้งานได้กับ apache2
    -เลือกให้ config database กับ dbconfig-common
    -ใส่ password ของ MySQL administrator ใส่ตามที่กำหนดไว้
    -สำหรับ password ของ phpmyadmin เอง ไม่จำเป็นจะต้องใส่ ตัว script สำหรับติดตั้ง phpmyadmin จะสร้าง random password ให้

    ทดสอบด้วยคำสั่ง w3m ได้
    mama@ubuntu:~$ w3m http://127.0.0.1/phpmyadmin

    ต่อไปทำการกำหนดให้ phpmyadmin สามารถเข้าถึงได้เฉพาะ client ที่กำหนดเท่านั้น

    เข้าไปที่ไดเรกทอรี config ของ phpmyadmin
    mama@ubuntu:~$  cd /etc/phpmyadmin

    เราจะแก้ไข config ของ phpmyadmin ดังนั้นควรจะ copy ไฟล์ดังเดิมเก็บเอาไว้ก่อน
    mama@ubuntu:/etc/phpmyadmin$ sudo cp apache.conf apache.conf.orig

    แก้ไขไฟล์ apache.conf
    mama@ubuntu:/etc/phpmyadmin$ sudo vi apache.conf
    ในไฟล์นี้จะกำหนดการเข้าถึง directory /usr/share/phpmyadmin ไว้ดังนี้
    <Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    <IfModule mod_php5.c>

    </IfModule>
    </Directory>
    ให้เพิ่ม config จำนวน 3 บรรทัดข้างล่างนี้เข้าไป ก่อนบรรทัด </Directory>

    Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1 ::1

    หลังจาก save ไฟล์แล้วให้ restart ตัว apache2 โดยใช้คำสั่ง
    mama@ubuntu:/etc/phpmyadmin$ sudo service apache2 restart

    ทดสอบการเข้าถึง phpmyadmin จาก ตัว server เอง
    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/phpmyadmin$ w3m http://127.0.0.1/phpmyadmin
    จะได้ผลลัพธ์แสดงหน้าเว็บเพจ phpmyadmin

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/phpmyadmin$ w3m http://10.0.100.9/phpmyadmin
    จะได้ข้อความว่า Forbidden You don’t have permission to access /phpmyadmin on this server

    และเมื่อทดสอบการเข้าถึง phpmyadmin จากตัว web browser เครื่องอื่นๆ
    (เช่นทดสอบที่ VM linux mint client มี IP 10.0.100.247)
    ทดสอบด้วยโปรแกรม Firefox
    http://10.0.100.9/phpmyadmin
    ก็ควรที่จะได้ข้อความว่า Forbidden You don’t have permission to access /phpmyadmin on this server เช่นกัน

    แก้ไขให้สามารถเข้าถึง phpmyadmin ได้จากเครื่อง หรือ net ที่กำหนดเพิ่ม
    เช่น ถ้าระบุเป็น 10.0.100.247 ก็เครื่องเดียว แต่ถ้าระบุเป็น 10.0.100. ก็คือทุกเครื่องใน net
    mama@ubuntu:/etc/phpmyadmin$ sudo vi apache.conf
    เดิม
    Allow from 127.0.0.1 ::1
    เป็น

    Allow from 127.0.0.1 ::1 10.0.100.

    สั่ง restart apache2
    mama@ubuntu:/etc/phpmyadmin$ sudo service apache2 restart

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/phpmyadmin$ w3m http://10.0.100.9/phpmyadmin
    ก็ควรจะเข้าได้แล้ว

    [การสร้าง VirtualHost pma.example.com สำหรับ phpmyadmin]
    ก่อนอื่นเราจะต้องแก้ไข DNS ให้สามารถ resolve address ของ pma.example.com ให้ได้ก่อน

    เข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้
    mama@myrouter:~$ sudo vi /var/cache/bind/db.example.com
    โดยเพิ่ม

    pma IN CNAME iserver

    และ reload bind โดยใช้คำสั่ง
    mama@myrouter:~$ sudo rndc reload

    และทดสอบโดยการใช้คำสั่ง host
    mama@myrouter:~$ host pma.example.com 10.0.100.1
    ได้ผลลัพธ์ดังนี้
    Using domain server:
    Name: 10.0.100.1
    Address: 10.0.100.1#53
    Aliases:
    pma.example.com is an alias for iserver.example.com.
    iserver.example.com has address 10.0.100.9

    ขั้นตอนถัดไปกลับไปที่ตัว web server
    เราจะยกเลิกไม่ให้เข้าถึง phpmyadmin โดยใช้ URL http://10.0.100.9/phpmyadmin

    โดยการ disable config ของ phpmyadmin ของ apache2 โดยใช้คำสั่ง
    mama@ubuntu:~$ sudo a2disconf phpmyadmin

    แล้วสร้าง site config สำหรับ phpmyadmin โดยสร้างเป็น VirtualHost config อันใหม่ขึ้นมา ไป copy จาก config เดิมที่มีอยู่แล้ว โดยใช้คำสั่ง
    mama@ubuntu:~$ sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/sites-available/pma.conf

    แก้ไขไฟล์ pma.conf
    mama@ubuntu:~$ sudo vi /etc/apache2/sites-available/pma.conf
    เพิ่มบรรทัดต่อไปนี้ในตอนต้นของไฟล์

    NameVirtualHost pma.example.com:80
     <VirtualHost pma.example.com:80>
     ServerName pma.example.com
     DocumentRoot /usr/share/phpmyadmin

    และ comment บรรทัด Alias /phpmyadmin /usr/share/phpmyadmin โดยการเพิ่มเครื่องหมาย ‘#’ ไปที่ต้นบรรทัด ดังนี้

    # Alias /phpmyadmin /usr/share/phpmyadmin

    และเพิ่มบรรทัดเหล่านี้ที่บรรทัดล่างสุด

    LogLevel warn
     ErrorLog ${APACHE_LOG_DIR}/pma-error.log
     CustomLog ${APACHE_LOG_DIR}/pma-access.log combined
     </VirtualHost>

    และ save ไฟล์

    และใช้คำสั่งเพื่อให้ apache2 รับ site ใหม่
    mama@ubuntu:~$ sudo a2ensite pma

    สั่ง reload apache2
    mama@ubuntu:~$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:~$ w3m http://pma.example.com
    ก็ควรจะใช้งานได้

    [ติดตั้ง joomla site เป็น ไดเรกทอรีต่อท้ายชื่อ web server]
    เมื่อทำมาถึงตอนนี้ ถ้าเราจะสร้าง site อะไรก็ตามที่อยู่ต่อจาก /var/www/html
    และจะใช้ URL แบบว่า http://www.example.com/testjoomla อย่างนี้จะทำไม่ได้ เพราะเรานำชื่อ www.example.com ไปทำเป็น site ทดสอบไปแล้ว
    เราจะต้องทำบนชื่อ domain name ใหม่อีกชื่อ สมมติให้ server ชื่อ aws.example.com

    เข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้
    mama@myrouter:~$ sudo vi /var/cache/bind/db.example.com
    โดยเพิ่ม

    aws IN CNAME iserver

    และ reload bind โดยใช้คำสั่ง
    mama@myrouter:~$ sudo rndc reload

    mama@myrouter:~$ host aws.example.com 10.0.100.1
    Using domain server:
    Name: 10.0.100.1
    Address: 10.0.100.1#53
    Aliases:
    aws.example.com is an alias for iserver.example.com.
    iserver.example.com has address 10.0.100.9

    ขั้นตอนถัดไปกลับไปที่ตัว web server แล้วสร้างไฟล์
    mama@ubuntu:~$ cd /etc/apache2/sites-available/
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp 000-default.conf aws.example.com.conf

    แก้ไขไฟล์ aws.example.com.conf
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi aws.example.com.conf
    แก้ไขเฉพาะบรรทัดเหล่านี้

    NameVirtualHost aws.example.com:80
     <VirtualHost aws.example.com:80>
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/html

    และใช้คำสั่งเพื่อให้ apache2 รับ site ใหม่
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite aws.example.com

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ตอนนี้ก็สามารถติดตั้ง joomla site เพื่อทดสอบโดยนำ joomla files ไปไว้ที่ /var/www/html/testjoomla เพื่อทึ่จะใช้ URL แบบว่า http://aws.example.com/testjoomla อย่างนี้จะทำได้แล้ว

    ทดลองทำขั้นตอนติดตั้ง joomla site (1-7)
    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/html/testjoomla ด้วยคำสั่ง
    sudo mkdir -p /var/www/html/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/html/testjoomla ด้วยคำสั่ง
    sudo tar -zxvf /tmp/Joomla_2.5.9-Stable-Full_Package.tar.gz -C /var/www/html/testjoomla

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

    6. ต่อไปต้องติดตั้งปรับแต่งระบบ joomla ครั้งแรก ไปยัง client (เช่น linux mint client) เปิด browser (firefox) แล้วพิมพ์ http://aws.example.com/testjoomla

    ขั้นตอน 1 : Choose language (เลือกภาษา) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 2 : Pre-Installation Check(ตรวจสอบระบบก่อนติดตั้ง) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 3 : License(ลิขสิทธิ์) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 4 : Database Configuration(การตั้งค่าฐานข้อมูลเข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้) ให้ใส่ค่าดังนี้ (อย่าลืมใส่ข้อมูลชิดซ้าย ห้ามมีช่องว่าง)
    Database type = mysqli(เลือกที่มี i)
    Host Name = localhost
    Username = mamamysql
    Password = mamapass
    Database Name = testdatabase เสร็จแล้ว click Next (หรือต่อไป)
    ขั้นตอน 5 : FTP Configuration (ตั้งค่า FTP) ให้ click ปุ่ม Next (หรือต่อไป)
    ขั้นตอน 6 : Main Configuration (ตั้งค่าหลักของ เว็บ) ให้ใส่ค่าดังนี้
    Site Name = testjoomla
    Your Email = mama@aws.example.com
    Admin Username = testadmin
    Admin Password = 123456
    Confirm Admin Password = 123456
    อย่าลืม ต้องคลิกปุ่ม Install Sample Data (ติดตั้งข้อมูลตัวอย่าง) แล้วกด Next (หรือ ต่อไป)
    ขั้นตอนที่ 7 : Finish (เสร็จสิ้น) (ขั้นตอนสุดท้าย)
    คลิกปุ่ม Remove installation folder

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

    ไปที่ client แล้วทดสอบเข้าเว็บไซต์อีกที
    http://aws.example.com/testjoomla
    http://aws.example.com/testjoomla/administrator/

    [ติดตั้ง joomla site เป็น virtualhost]
    แต่ถ้าต้องการเปลี่ยนให้ http://aws.example.com คือ jooma site เลย ไม่ต้องมีชื่อไดเรกทอรี testjoomla ต่อท้าย
    ก็ให้แก้ไขที่ไฟล์
    mama@ubuntu:~$ cd /etc/apache2/sites-available/
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi aws.example.com.conf
    แก้ไขเฉพาะบรรทัด DocumentRoot
    เดิม
    DocumentRoot /var/www/html
    เปลี่ยนเป็น

    DocumentRoot /var/www/html/testjoomla

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ตอนนี้ http://aws.example.com คือ joomla site แล้ว

    ไปที่ client (เช่น linux mint client) เปิด browser (firefox) แล้วทดสอบเข้าเว็บไซต์อีกที
    http://aws.example.com
    http://aws.example.com/administrator/

     

    2. แบบไม่ใช้ NameVirtualHost

    เป็นการทำ virtualhost บน apache2 web server อย่างง่าย

    -:การตรวจสอบความพร้อมของ apache2 web server:-
    เข้าไปที่ไดเรกทอรี
    mama@ubuntu:$ cd /var/www/html/

    เริ่มต้น apache2 web server จะมีไฟล์ index.html มาให้
    mama@ubuntu:/var/www/html$ ls
    index.html

    ทดสอบด้วยคำสั่ง w3m ได้
    mama@ubuntu:~$ w3m http://127.0.0.1
    เห็นหน้าเว็บเพจ default แสดงข้อความ
    Apache2 Ubuntu Default Page
    It work!
    กด Ctrl+c เลิกดู

    ลองสร้างไฟล์ test.php
    mama@ubuntu:/var/www/html$ sudo vi test.php
    เพิ่มบรรทัด 1 บรรทัด

    <?php phpinfo() ?>

    ผลลัพธ์จะมีไฟล์เพิ่มขึ้น
    mama@ubuntu:/var/www/html$ ls
    index.html  test.php

    เมื่อดูข้อมูลด้วยคำสั่ง cat
    mama@ubuntu:/var/www/html$ cat test.php
    จะเห็นแบบนี้
    <?php phpinfo() ?>

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/var/www/html$ w3m http://127.0.0.1/test.php
    เห็นหน้าเว็บเพจ php info

    -:สร้าง virtualhost จะใช้ไฟล์ 000-default.conf ที่ให้มา:-
    ความต้องการ
    ทำ virtualhost ชื่อ www.example.com ชี้ DocumentRoot ที่ /var/www/www.example.com
    และ
    ทำ virtualhost ชื่อ www2.example.com ชี้ DocumentRoot ที่ /var/www/www2.example.com
    และ

    ตรวจสอบว่าเรามี domain name iserver.example.com แล้ว
    mama@ubuntu:$ host iserver.example.com
    iserver.example.com has address 10.0.100.9

    เข้าไปที่ VM LSA-router (IP 10.0.100.1) ด้วย username: mama มี password: 123456
    และเพิ่มค่า domain name ดังนี้
    mama@myrouter:~$ sudo vi /var/cache/bind/db.example.com
    เพิ่มบรรทัด

    www        IN CNAME iserver
    www2       IN CNAME iserver

    แล้ว reload dns server
    mama@myrouter:~$ sudo service bind9 reload

    กลับไปที่ VM web server (IP 10.0.100.9)
    สร้างไดเรกทอรีชื่อ www.example.com
    mama@ubuntu:/var/www/html$ sudo mkdir /var/www/www.example.com

    สร้างไฟล์ตัวอย่างของเว็บไซต์
    mama@ubuntu:/var/www/html$ sudo vi /var/www/www.example.com/index.php
    มีข้อความเพียง 1 บรรทัด

    <?php echo "WWW Hello, world!"; ?>

    สร้างไดเรกทอรีชื่อ www2.example.com
    mama@ubuntu:/var/www/html$ sudo mkdir /var/www/www2.example.com

    สร้างไฟล์ตัวอย่างของเว็บไซต์
    mama@ubuntu:/var/www/html$ sudo vi /var/www/www2.example.com/index.php
    มีข้อความเพียง 1 บรรทัด

    <?php echo "WWW2 Hello, world!"; ?>

    เข้าไปไดเรกทอรีสำหรับจัดการ config site
    mama@ubuntu:~$ cd /etc/apache2/sites-available/

    ใช้คำสั่ง ls ดูรายชื่อไฟล์
    mama@ubuntu:/etc/apache2/sites-available$ ls
    000-default.conf  default-ssl.conf

    สร้าง virtualhost จะใช้ไฟล์ 000-default.conf ที่ให้มา
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi 000-default.conf
    [sudo] password for mama:
    เพิ่มบรรทัดเหล่านี้ต่อท้ายไฟล์เดิม

    <VirtualHost *:80>
            ServerName www.example.com
            DocumentRoot /var/www/www.example.com
    </VirtualHost>
    <VirtualHost *:80>
            ServerName www2.example.com
            DocumentRoot /var/www/www2.example.com
    </VirtualHost>

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://www.example.com
    จะเห็นหน้าเว็บเพจ
    WWW Hello, world!

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://www2.example.com
    จะเห็นหน้าเว็บเพจ
    WWW2 Hello, world!

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://iserver.example.com
    ยังคงเห็นหน้าเว็บเพจ default แสดงข้อความ
    Apache2 Ubuntu Default Page
    It work!

    mama@ubuntu:/etc/apache2/sites-available$ w3m http://iserver.example.com/test.php
    ยังคงเห็นหน้าเว็บเพจ php info

    -:ต้องการใช้ https:-

    เริ่มต้นตรวจสอบ จะพบว่า https ยังใช้งานไม่ได้ ควรที่จะเกิด error ไม่สามารถเข้าถึงได้ เพราะเรายังไม่ได้ enable https บน iserver.example.com
    จะเห็นแบบนี้
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://iserver.example.com
    w3m: Can’t load https://iserver.example.com.

    เราสามารถ enable https โดยใช้คำสั่ง
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2enmod ssl
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite default-ssl
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://iserver.example.com
    จะมีคำเตือนในเรื่อง certificate ที่ไม่ถูกต้อง เนื่องจากเป็น self-signed certificate ก็กด Y ไปเรื่อยๆ จะเข้าไปยังเว็บเพจได้
    จะเห็นแบบนี้
    Apache2 Ubuntu Default Page
    It work!

    เช่นเดียวกับ 2 คำสั่งนี้ ก็จะได้ผลลัพธ์ไปที่หน้าเดียวกัน
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www2.example.com

    mama@ubuntu:/etc/apache2/sites-available$ sudo vi default-ssl.conf
    [sudo] password for mama:
    เพิ่มบรรทัดเหล่านี้ต่อท้ายไฟล์เดิม วางไว้ก่อนบรรทัด </IfModule>

           <VirtualHost _default_:443>
                    ServerName www.example.com
                    ServerAdmin webmaster@localhost
                    DocumentRoot /var/www/www.example.com
                    SSLEngine on
                    SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
           </VirtualHost>
           <VirtualHost _default_:443>
                    ServerName www2.example.com
                    ServerAdmin webmaster@localhost
                    DocumentRoot /var/www/www2.example.com
                    SSLEngine on
                    SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
            </VirtualHost>

    </IfModule>

    ทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    จะเห็นหน้าเว็บเพจ
    WWW Hello, world!

    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www2.example.com
    จะเห็นหน้าเว็บเพจ
    WWW2 Hello, world!

    mama@ubuntu:/etc/apache2/sites-available$ w3m https://iserver.example.com
    จะหน้าเว็บเพจ default แสดงข้อความ
    Apache2 Ubuntu Default Page
    It work!

    mama@ubuntu:/etc/apache2/sites-available$ w3m https://iserver.example.com/test.php
    จะหน้าเว็บเพจ php info

    เรื่องราวของการทดสอบ virtualhost ของ apache2 web server บน ubuntu 14.04 server ก็มีเพียงเท่านี้

  • การสร้าง virtualhost บน Apache2 web server (2.4.x ขึ้นไป)

    ขอเล่าเรื่องการสร้าง virtualhost บน Apache2 web server (2.4.x ขึ้นไป) อย่างง่ายๆ แต่ก็เป็นผลมาจากการเปลี่ยนจาก ubuntu 12.04 server ไปเป็น ubuntu 14.04 server เมื่อเร็วๆนี้

    Apache 2.4.x เช่น 2.4.7 ที่มาพร้อม ubuntu 14.04 server จะมีการจัดการเรื่อง Document root ที่แตกต่างจากเวอร์ชั่นที่ต่ำกว่า เช่น Document root จะอยู่ที่ /var/www/html แทนที่จะเป็น /var/www เหมือนเดิม ดังนั้นเมื่อทำ virtualhost จึงต้องมีการวางไดเรกทอรีไว้ที่ /var/www และทำ virtualhost เช่น www.example.com และชี้ documentroot ที่ /var/www/www.example.com

    มาดูกันครับว่าจะต้องทำอย่างไรบ้าง เริ่มต้นที่หลังจากติดตั้ง ubuntu 14.04 เสร็จแล้ว พร้อมทั้งได้ติดตั้ง packages LAMP หากไม่แน่ใจก็ตรวจสอบด้วยคำสั่ง sudo tasksel
    ในบทความมีการอ้างถึง editor ที่ใช้แก้ไขไฟล์ชื่อ vi หากไม่คุ้นเคยวิธีใช้ก็ให้เปลี่ยนเป็นคำว่า nano จะเป็น full screen editor ใช้ง่ายกว่า

    ตรวจสอบว่าเรามีโดเมนเนมแล้ว (check domain name)
    mama@ubuntu:$ host www.example.com
    www.example.com is an alias for iserver.example.com.
    iserver.example.com has address 10.0.100.9

    เข้าไปที่ไดเรกทอรี
    mama@ubuntu:$ cd /var/www/

    สร้างไดเรกทอรีชื่อ www.example.com
    mama@ubuntu:/var/www$ sudo mkdir www.example.com

    สร้างไฟล์ตัวอย่างของเว็บไซต์
    mama@ubuntu:/var/www$ sudo vi www.example.com/index.php
    มีข้อความเพียง 1 บรรทัด
    <?php echo “WWW Hello, world!”; ?>

    ใช้คำสั่งแสดงรายการ จะเห็น
    mama@ubuntu:/var/www$ ls www.example.com/
    index.php

    ใช้คำสั่งแสดงข้อมูลในไฟล์ จะเห็น
    mama@ubuntu:/var/www$ cat www.example.com/index.php
    <?php echo “WWW Hello, world!”; ?>

    เข้าไปไดเรกทอรีสำหรับจัดการ config site
    mama@ubuntu:/var/www/html$ cd /etc/apache2/sites-available

    ใช้คำสั่งแสดงรายการ จะเห็น
    mama@ubuntu:/etc/apache2/sites-available$ ls
    000-default.conf  default-ssl.conf

    สร้างไฟล์สำหรับ config virtual host ชื่อมี .conf ต่อท้ายด้วย
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp 000-default.conf www.example.com.conf

    แก้ไขไฟล์ www.example.com.conf
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi www.example.com.conf
    แก้ไขเฉพาะบรรทัดข้างล่างนี้
    NameVirtualHost www.example.com:80
    <VirtualHost www.example.com:80>
    ServerName www.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/www.example.com

    สั่งให้ apache2 รับ site ใหม่
    mama@ubuntu:/etc/apache2/sites-available$ sudo a2ensite www.example.com

    สั่ง reload apache2
    mama@ubuntu:/etc/apache2/sites-available$ sudo service apache2 reload

    ทดสอบ www.example.com ด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://www.example.com
    จะเห็นหน้าเว็บเพจ
    WWW Hello, world!
    กด Ctrl+c เลิกดู

    หากทำอีก site ชื่อ iserver.example.com ก็เลียนแบบด้านบน และเมื่อทดสอบด้วยคำสั่ง w3m
    mama@ubuntu:/etc/apache2/sites-available$ w3m http://iserver.example.com
    ก็จะได้เช่นเดียวกัน (ควรใส่ข้อความให้เกิดความแตกต่าง)
    ISERVER Hello, world!

    ต่อไปคุณต้องคิดต่อเองว่าถ้าต้องใช้ https ด้วยหรือไม่ ถ้าต้องการ จะใช้ self-signed certificate ที่ apache2 ให้มา หรือว่า จะซื้อ trusted root certificate ที่มีขายในอินเทอร์เน็ต

    เริ่มต้นตรวจสอบ จะพบว่า https ยังใช้งานไม่ได้ ควรที่จะเกิด error ไม่สามารถเข้าถึงได้ เพราะเรายังไม่ได้ enable https บน www.example.com
    จะเห็นแบบนี้
    mama@ubuntu:/etc/apache2/sites-available$ w3m https://www.example.com
    w3m: Can’t load https://www.example.com.

    เราสามารถ enable https โดยใช้คำสั่ง
    sudo a2enmod ssl
    sudo a2ensite default-ssl
    sudo service apache2 reload

    w3m https://www.example.com
    ก็ควรที่จะเชื่อมต่อไปยัง web server ได้ โดยที่จะยังมีคำเตือนในเรื่อง certificate ที่ไม่ถูกต้อง เนื่องจากเป็น self-signed certificate แต่จะเข้าไปยังเว็บเพจได้
    จะเห็นแบบนี้
    Apache2 Ubuntu Default Page
    It work!

    ต่อไปก็จะทำให้ใช้ https ได้แบบใช้ self-signed certificate
    ให้ copy ไฟล์ www.example.com.cof เป็นอีกไฟล์ให้มีชื่อ ssl ด้วยเพื่อให้จำง่าย
    mama@ubuntu:/etc/apache2/sites-available$ sudo cp www.example.com.conf www.example.com-ssl.conf

    แก้ไขไฟล์ www.example.com-ssl.conf
    mama@ubuntu:/etc/apache2/sites-available$ sudo vi www.example.com-ssl.conf
    แก้ไขสองบรรทัดแรกจาก
    NameVirtualHost www.example.com:80
    <VirtualHost www.example.com:80>
    เป็น
    NameVirtualHost www.example.com:443
    <VirtualHost www.example.com:443>
    และเพิ่ม
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    ก่อนบรรทัด
    </VirtualHost>
    หลังจากนั้น save file

    และใช้คำสั่งเพื่อให้ apache2 รับ site ใหม่
    sudo a2ensite www.example.com-ssl

    สั่ง reload apache2
    sudo service apache2 reload

    หลังจากนั้นเราก็จะสามารถเข้าถึง URL https://www.example.com ได้อย่างถูกต้อง

  • อยากได้ 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