Category: Cloud Computing

  • ประยุกต์ใช้ Dropbox ช่วยสำรองข้อมูลเว็บไซต์ และพัฒนาเว็บได้ทุกที่

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

    ข้อด้อย

    – ไม่มีการควบคุมในส่วนของเวอร์ชั่นของโค้ดโปรแกรม

    – ไม่เหมาะกับการพัฒนาโปรแกรมเป็นทีม อาจจะทำได้แต่ต้องจัดการบริหารให้ดี

    ข้อเด่น

    – เหมาะสมกับนักพัฒนาคนเดียว การทำงานสะดวกกว่าพวก version control มาก

    – ทันทีที่แก้ไขไฟล์ จะอัพเดตไฟล์ทันที

    ในการเลือกใช้ Strange Clouds (บริการเก็บไฟล์บนกลุ่มเมฆ)  อย่าง Dropbox มีความเหมาะสมที่สุด เพราะสามารถติดตั้งได้ทุกระบบปฎิบัติการ แต่ทีจะสาทิตนี้จะใช้เป็น Ubuntu/Linux Mint  ดังมีขั้นตอนดังนี้ (more…)

  • 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 ครับ

  • มาทำ Self-hosted cloud storage ด้วย ownCloud ใน PSU กันเถอะ

    เมื่ือช่วงต้นเดือนพฤษภาคม ผมได้รับอีเมลเกี่ยวกับรายชื่อ cloud storage ที่มีให้บริการ เช่น dropbox เป็นต้น แล้วมีพูดถึงว่านอกจากบริการบนอินเทอร์เน็ต ยังมี open source software ชื่อ owncloud อีกตัวนึงที่มีคนทำไว้ใช้งานเองและใช้ได้จริง และเป็นที่นิยมกันมากมาย ผมเลยตามไปดูที่ owncloud.org และก็จุดประกายความคิดขึ้นมาต่อยอดจากที่งาน WUNCA26 ว่ามีอาจารย์ท่านนึงบรรยายเกี่ยวกับ cloud ว่าอยากให้มหาวิทยาลัยมี private cloud ใช้งาน อันนี้ก็เป็นอันหนึ่งคือ self-hosted cloud storage หมายถึง ตั้งเซิร์ฟเวอร์เองไว้เก็บไฟล์
    owncloud-in-psu-1
    owncloud ทำอะไรได้บ้าง ผมจินตนาการอย่างนี้นะครับ ผมจะมี directory เก็บไฟล์ทำงาน ซึ่งแน่นอนอาจต้องการอีกสักหนึ่งเพื่อไว้กิจกรรมอะไรก็ได้ และนำไฟล์เหล่านี้ไปเก็บบน server ทำให้ผมจะมีข้อมูลเก็บอยู่สองแห่ง (เครื่องผมและserver)  เมื่อผมแก้ไข เพิ่ม หรือ ลบไฟล์ แล้วจะมี sync client สักตัวทำการ sync ให้เท่ากัน เมื่อผมไม่ได้ใช้เครื่องคอมฯของตนเอง ผมก็สามารถเข้าเว็บเบราว์เซอร์แล้วเข้าไปที่ URL ที่กำหนดไว้ เช่น [ http://cloud.in.psu.ac.th ] เป็นต้น ผมก็สามารถ login เข้าทำงานกับไฟล์ของผมได้แล้ว จากนั้นก็คิดต่อไปว่าแล้วผมมี Android smart phone จะต้องใช้ได้ด้วย คือเปิดดูพวกไฟล์ pdf ได้เลย รวมถึงเมื่อถ่ายรูป ไฟล์รูปภาพก็จะอัพโหลดไปเก็บอยู่บน server ของผม และเมื่อผมกลับมาเปิดเครื่องคอมฯของตนเองอีกครั้ง โปรแกรม sync client ก็จะทำการ sync ไฟล์รูปภาพจาก server ลงมาเก็บไว้ใน directory ที่กำหนดไว้

    เป็นไงครับอ่านมาถึงตรงนี้ นึกออกแล้วใช่ไม๊ครับ ไม่เห็นภาพ ลองดูตัวอย่างจาก presentation เรื่อง คู่มือสำหรับผู้ใช้งาน ownCloud ครับ

    ตามนี้ [ https://sharedrive.psu.ac.th/public.php?service=files&t=494382205a552cc52f07e6855c991162 ]

    สองสัปดาห์ที่ผ่านมา ผมจึงลงมือทำการทดสอบ ติดตั้งง่ายครับใช้ ubuntu server 12.04.2 มีเรื่องที่ต้องสนใจ 2-3 เรื่อง เรื่องแรกคือจะใช้ฐานข้อมูลอะไร มีให้เลือก sqlite, MySQL, PostGresSQL เรื่องที่สองคือจะใช้ user name อะไรในการ login เข้าใช้งาน เรื่องที่สามคือจะกำหนดพื้นที่ดิสก์รวมอยู่กับ system หรือแยก partition ต่างหากสำหรับเก็บ data นอกจากนี้ก็เป็นการคอนฟิกเพิ่มเติมโปรแกรม (owncloud จะเรียกว่า Apps) เช่น Bookmark, News Feed, Web mail client เป็นต้น และสุดท้ายคือตั้งค่า disk quota สำหรับผู้ใช้แต่ละคน

    เริ่มต้นด้วยแบบง่ายๆก็ใช้ local user ของโปรแกรม owncloud เองเลย ซึ่งเก็บอยู่บนฐานข้อมูล sqlite ในขั้นตอนติดตั้ง แบบยากขึ้นมานิด จะใช้ External user support ได้อย่างไร ก็พบว่าทำได้จาก LDAP, IMAP, FTP server ผมเลือกใช้ FTP server เพราะว่าเราสามารถผสมใช้ linux user name พร้อมๆไปกับ PSU Passport ของมหาวิทยาลัยได้ด้วย ผ่านทาง FTP server และอนุญาตเฉพาะ user name ที่เป็นสมาชิกเท่านั้น ซึ่งเป็นความรู้ที่ได้รับจากหลวงพี่วิภัทรสั่งสอนไว้นั่นเอง คือ PSU-radius + vsftpd + pam_radius_auth

    ถัดมาก็ทดสอบเปลี่ยนไปใช้ MySQL database ก็ไม่ยุ่งยากอะไร คือ ต้องเตรียม database name, database user, database password ไว้ก่อน จากนั้นในขั้นตอนติดตั้งทางหน้าเว็บครั้งแรกให้เลือก Advanced เพื่อเลือกว่าจะใช้ MySQL แล้วระบุค่าสำหรับ database ที่เตรียมไว้นั้น

    ถัดมาก็ศึกษาวิธีการเปลี่ยนใช้ partition แยกต่างหากสำหรับ ownCloud data ซึ่งก็คือที่เก็บไฟล์ของ user แต่ละคนนั่นเอง หากให้คนละ 10 GB มีคน 100 คน ก็ต้องใช้ 1,000 GB เป็นต้นจึงจำเป็นต้องแยก mount disk ต่างหาก ตรงนี้จะเกี่ยวกับไฟล์ /etc/fstab ด้วยนะ นอกจากนี้ผมต้องการให้มีการ share with link เพื่อให้สาธารณะดูไฟล์ได้โดยผมจะส่งเป็นอีเมลไปให้ จึงต้องคอนฟิกเรื่อง mail อีกนิด

    การติดตั้งหลักๆเสร็จไปแล้ว ต่อมาก็ทดสอบการใช้งาน เริ่มต้นจากเมื่อ login เข้าใช้งานครั้งแรก จะมีหน้าต่าง wizard เชิญชวนให้ติดตั้ง Desktop Client ซึ่งมีสำหรับ Linux, Windows, Mac OS ซึ่งฟรีครับ นอกจากนี้ก็มีสำหรับ Android PlayStore, iOS AppStore แต่เนื่องจากต้องมีค่าใช้จ่ายสำหรับดาวน์โหลดทาง PlayStore และ AppStore ราคา 29 บาท ผมจึงเสาะหาพบว่า “ฟรี” ที่นี่ครับ [ http://f-droid.org ]จะมีโปรแกรม owncloud client ให้ใช้ฟรีๆครับ

    ทดสอบการใช้งาน พบว่ามี bug 2-3 เรื่อง เรื่องแรกการ share file ระหว่าง user name บน ownCloud กับ External user ยังไม่สมบูรณ์ จึงค้นหา google พบว่ามีคนบอกวิธีแก้ bug ไว้ให้ และ bug เกี่ยวกับเกิดมี error log record ผิดปรกติจำนวนมากใน /var/www/owncloud/data/owncloud.log ซึ่งไม่ควรจะมี ผมพบว่ายังมี bug อีก 2 อย่างที่ยังแก้ไขไม่ได้คือ disk quota แสดงผลไม่ตรงความจริง คือ ผมอัพโหลดไฟล์ไว้มากๆเพื่อลองทดสอบประมาณ 7พันกว่าไฟล์ ขนาด 7 GB กว่าๆ แต่โปรแกรมรายงานเพียง 2GB เท่านั้น และอีก bug คือ Apps ชื่อ Pictures Gallery เมื่อผมลบไฟล์รูปภาพไปแล้ว แต่ thumbnail picture ยังคงเก็บอยู่ อันนี้ผมซอกแซกเข้าไปดูในที่เก็บ คือ cd /var/www/owncloud/data/(user)/gallery/

    หากต้องการทดสอบ ให้อ่านเรื่อง ติดตั้ง owncloud (5.0.6) บน ubuntu (12.04.2) สำหรับ PSU [ http://opensource.cc.psu.ac.th/ติดตั้ง_owncloud_(5.0.6)_บน_ubuntu_(12.04.2)_สำหรับ_PSU ] อยู่ที่เว็บไซต์ opensouce.cc.psu.ac.th ครับ

    และนี่คือ Your Private Cloud Storage in PSU ครับ ขอบคุณครับ

  • สมัยนี้เขาไม่แนบไฟล์ใหญ่ๆกันแล้ว (Google Drive)

    มีผู้ใช้ถามมาว่า “จะส่งภาพงานอบรมให้เพื่อน ที่ Gmail แต่ทำไมส่งไปไม่ได้ ไม่กี่ภาพเอง ถามเพื่อนเขาก็ว่าพื้นที่เขาไม่เต็ม ทำไม PSU เราไม่ให้ส่งหล่ะ ?!?!?!” …

    ตรวจสอบพบว่า … ไม่กี่ภาพ แต่ขนาดรวมทั้งสิ้น 125 MB, และ Gmail ก็มีข้อจำกัด ไม่ให้ส่ง email ที่มีขนาดรวมไฟล์แนบเกิน 25 MB ในขณะที่ PSU เองไม่ได้จำกัดการส่งออกครับ

    แล้ว … ทำไงดี ???

    ต่อไปนี้เป็นหนึ่งในหลายๆวิธีครับ นั่นคือ ใช้ Google Drive เพื่อการแชร์ไฟล์
    โดยจะใช้วิธีสร้าง Folder แล้วแชร์ทั้งหมด ให้กับผู้อื่น แบบไม่ต้องใช้ Google Account ในการเข้ามาดู
    วิธีการใช้งานมีดังนี้

    0. ท่านต้องมี Google Account (Gmail Account นั่นแหล่ะ)

    1. Login ที่ https://drive.google.com

    login-drive

    2. คลิกที่ Create แล้วเลือก Folder

    create-folder

     

    3. ตั้งชื่อ “ภาพของฉัน”

    newfolder-ภาพของฉัน

     

    4. Upload ภาพไปเก็บใน “ภาพของฉัน” โดยคลิกที่ “ภาพของฉัน” แล้วคลิกที่ Upload (ภาพลูกศรชื้ขึ้น)
    แล้วเลือก Files, จากนั้น เลือกภาพที่ต้องการ เสร็จแล้วคลิกปุ่ม Open

    upload-pics

    5. รอให้ Upload เสร็จ

    upload-complete

    6.  คลิกที่เมนูด้านหลัง “ภาพของฉัน” แล้วคลิก Share … > Share

    share-share

    7. หากต้องการแชร์ให้ผู้อื่น “ที่มี Link” ดูได้ โดยไม่ต้อง Login ให้เลือก Anyone with the link

    แล้วเลือก Can View ดังภาพ แล้วคลิก Save

    (หากต้องการให้ Login ด้วย Google Account เลือก Private
    หากต้องการให้ทุกคน เห็นได้ เลือก Public on the Web)

    sharing-setting

     

    8.ใส่ email address ผู้รับลงไป คั่นด้วย Comma (,)
    หากต้องใส่ข้อความด้วย ก็สามารถทำได้ จากนั้นคลิก Share & Save

    share-save

    9. ผลคือ จะมี email ส่งไปถึงผู้รับ คล้ายอย่างนี้

    email

    10. เมื่อผู้รับคลิก “ภาพของฉัน” ก็จะได้ผลดังนี้ (มาที่ Google)

    result

     

    จึงเรียนมาเพื่อทราบ