ครั้งที่แล้วพาเล่น Load Balance บน Rancher แบบง่ายๆ ไปแล้ว ครั้งนี้ก็เลยมายกตัวอย่าง HA WordPress กันบ้าง WordPress เป็น CMS เก็บข้อมูลบน Storage 2 ส่วน คือ บน MySQL และบน File System หากต้องการทำ HA สำหรับ WordPress จะต้องกระจายโหลดจาก Load Balance ไปยัง WordPress และการเก็บข้อมูลจะต้องเก็บข้อมูลบน Storage เดียวกันโดยใช้ Distributed Storage เข้ามาช่วย และใช้ MySQL Cluster สำหรับเก็บข้อมูลด้วย เครื่องมือที่ใช้ได้แก่ Gluster,
Percona XtraDB Cluster และ WordPress มาลงมือกันเลย ให้คุณเพิ่ม Docker Host เข้าไปใน Rancher 3 Host ดังนี้


Continue reading

มาติดตั้ง WordPress ให้ทำงานกับ OpenLiteSpeed เริ่มต้นด้วยทำการติดตั้ง OpenLiteSpeed ด้วยคำสั่งดังนี้

sudo apt-get update

sudo apt-get install build-essential libexpat1-dev libgeoip-dev libpng-dev libpcre3-dev libssl-dev libxml2-dev rcs zlib1g-dev

cd ~

wget http://open.litespeedtech.com/packages/openlitespeed-1.3.10.tgz

tar xzvf openlitespeed*


Continue reading

WordPress เป็น CMS ที่ได้รับความนิยม ออกแบบมารองรับ Multisite ทำให้คุณสามารถใช้การติดตั้ง WordPress ครั้งเดียวแล้วตั้งค่าแยกเว็บไซต์ออกเป็นหลายๆ เว็บตาม domain ที่เรากำหนดได้ ข้อมูลและเนื้อหาจะแยกออกจากกัน อย่างสิ้นเชิง ส่วนการจัดการ website ก็สามารถ login เข้าไปจัดการในแต่ละเว็บได้อย่างอิสระ จะยกตัวอย่าง 2 แบบคือ sub-domain และ domain แยก ดังนี้

  • fffee.org
  • andrew.fffee.org
  • fffeex.org

มาลองติดตั้งกัน เริ่มจากติดตั้ง nginx, mysql serverv และ php กันก่อน

apt-get install -y nginx mysql-server php5-fpm php5-mysql php5-curl php5-mcrypt php5-gd


Continue reading

หลังจากที่เราได้ติดตั้ง juju และทำการ config ไปยัง cloud ของเราแล้ว (หมายความว่าจะเป็น private cloud, public cloud หรือจะเป็น local ก็ได้) ในตัวอย่างผมได้มีการเชื่อมต่อกับ AWS ของ Amazon

หลังจากที่รันคำสั่ง

$ juju bootstrap

จากนั้นรันคำสั่งติดตั้ง wordpress

$ juju deploy wordpress


Continue reading

หลังจากย้ายเว็บ ThaiOpenSource จาก Drupal มาเป็น WordPress นอกจากจะมีปัญหาเรื่องการย้ายข้อมูลจากเว็บเดิมเพราะไฟล์ import/export มี schema ไม่เหมือนกัน เรื่องที่น่าปวดหัวที่สุดคือเรื่อง URL เพราะ URL ของแต่ละหน้าเปลี่ยนไปทำให้การอ้างอิงหน้าเว็บเก่ามีปัญหา แต่ WordPress ก็ช่วยได้ระดับนึงเท่านั้น ไม่ได้ช่วยได้ 100% การกำหนด Redirect URL ใน htaccess ช่วยได้บ้าง หลังจากอัพเดทเว็บใหม่ทำให้ URL ที่เป็น Referer เกือบ 80% วิ่งไปที่หน้า 404 Not Found แต่ก็ใช้วิธีการให้ข้อมูลเพิ่มเติมในหน้า 404 นี้แทน กรณีที่ไม่รู้ว่าจะ Redirect ไปที่ไหนจริงๆ ซึ่งส่วนใหญ่คนที่เข้าเว็บมาจะเข้ามาดาวน์โหลดไฟล์หนังสือ Blender, GIMP ฟอนต์ไทย เป็นต้น

หลายท่านอาจะสงสัยว่าทำไมถึงทราบว่าคนเข้ามาดูเว็บมีกิจกรรมอะไรกับเว็บเราบ้าง เข้าหน้าผิดไปบ้างไหม เราจะรับมืออย่างไร เครื่องมือง่ายๆ ในการดูกิจกรรมเหล่านี้แบบ Real Time และแบบย้อยหลังได้ คือ Google Analytics ถ้าท่านเป็นคนทำเว็บก็ควรจะหัดใช้ไว้สักหน่อย

เรื่องถัดมาคงเป็นเรื่อง Theme และ Plugin เว็บ ThaiOpenSource เปลี่ยนแปลงตามกาลเวลา ตามสถานการณ์การเมืองและสถานการณ์การเงิน เนื้อหาที่ดูทันสมัยอาจจะไม่ค่อยมีแต่จะเป็นเรื่อง Blog และ How-To เป็นหลักซึ่งก็ได้ แรงบันดาลใจจากคำถามต่างๆ ที่อยู่ใน ask.thaiopensource.org นั่นเอง ในเรื่อง Theme ก็ยังคงอิง Bootstrap เช่นเคย เหมือนกับที่ใช้ใน Drupal ดังนั้นหน้าตาจะคล้ายๆ เว็บเดิม ส่วนที่เพิ่มลูกเล่นเข้ามาก็คงเป็น font face เพื่อให้ดูมีความแตกต่างเรื่องรูปแบบตัวอักษรบ้าง และเขียน Sub Theme เพิ่มขึ้นมาอีกนิดหน่อย

สำหรับเรื่อง Plugin ใน WordPress ใช้น้อยกว่าที่ใช้ใน Drupal มากๆ เพราะเว็บไม่มีอะไรมี Blog อย่างเดียว ตอนนี้ใช้ Akismet, Google Analytics Dashboard, Google XML Sitemaps, Related Posts via Taxonomies, Shareaholic, WP Super Cache, Youtube Channel Gallery มีเท่านี้ครับ

ThaiOpenSource เปลี่ยนมาใช้ WordPress เรียบร้อยแล้ว แต่เนื้อหาบางส่วนจะทะยอย import เข้าไปเรื่อยๆ มาใช้ WordPress เขียน Blog เรื่อง WordPress CLI สักหน่อย เมื่อปีที่แล้วงาน WordCamp San Francisco 2013 Mike Schroder เปิดตัว WP-CLI หรือ WordPress Command Line ซึ่งน่าสนใจดี สามารถทำงานได้หลายอย่าง เช่น

  • ดาวน์โหลดและติดตั้ง WordPress เวอร์ชั่นล่าสุด
  • อัพเดท WordPress
  • ติดตั้ง, อัพเดท Theme, Plugin
  • จัดการเนื้อหา Blog, Page และอื่นๆ

เรียกได้ว่ามากความสามารถเลยทีเดียว การติดตั้ง WP-CLI ทำได้ง่ายๆ ดังนี้


Continue reading

เนื่องจากมีเรื่องจุกจิกกับการจัดการ Thai OpenSource ทั้งเรื่องอัพเดท Drupal และ Module เว็บ Thai OpenSource ใช้ Drupal มาตั้งแต่เวอร์ชัน 5 อัพเดทเวอร์ชั่นมาเรื่อยๆ จนถึงเวอร์ชัน 7 ใช้ Module ประหลาดเยอะแยะ ไม่ว่าจะเป็น CCK, View, Panel รวมไปถึงการเขียน module เพิ่มเติม หลังจากผ่านกาลเวลาการอัพเดทมาจนถึงเวอร์ชัน 7 ทำให้เกิดอาการขี้เกียจประกอบกับฐานข้อมูลของ Drupal เริ่มเละเกิดอาการ error ในบาง module ก็เลยพยายามหาทางพอร์ทไปยัง CMS อื่นๆ ทั้งเป็นแบบใช้บริการและแบบโฮสเอง

มหากาพย์การพอร์ท Drupal ที่ได้ทดลองทำ ได้แก่

  • พอร์ทเนื้อหาเดิมไปยัง Drupal ตัวใหม่แบบสะอาดๆ
  • พอร์ทเนื้อหาเดิมไปยัง Blogger เพราะไม่อยากดูแลเรื่อง CMS เอง แต่ Blogger ก็พัง เพิ่ม Static Page ไม่ได้อีกเลย
  • พอร์ทเนื้อหาเดิมไปยัง WordPress

อย่างหลังสุดดูจะเป็นมิตรและไม่พัง แต่สุดท้ายก็ต้องโฮสเว็บเอง คิดว่าการอัพเดทจะทำได้ง่ายกว่า :) สำหรับท่านที่สนใจอยากย้าย Drupal ไป Blogger หรือ WordPress ก็ตามไปดู script ใน GitHub ได้ดังนี้

ผู้ดูแลระบบเว็บไซต์ WordPress บางท่านอาจประสบปัญหาลืมวิธีเข้าหน้าล๊อคอินเพื่อเข้าจัดการระบบ ให้เข้าหน้าล๊อคอินได้โดย พิมพ์ url ตามด้วย /wp-admin เช่น http://localhost/wordpress/wp-admin แล้วล๊อคอินเข้าปรกติ

รูปภาพ

บางครั้งเมื่อผู้ดูแลหรือผู้เขียนเนื้อหาทำการอัพเดท links ไปยังที่อื่นจากที่เคยกำหนดไว้ครั้งแรก อาจประสบปัญหา links ใช้การไม่ได้
WordPress มี plugins ที่ช่วยตรวจสอบสถานะของ links เหล่านั้นว่ายังสามารถใช้การได้อยู่หรือไม่ โดย plugins ที่ชื่อ Broken Links Checker
http://WordPress.org/extend/plugins/broken-link-checker/

รูปภาพ

รูปภาพ

เมื่อเปิดใช้แล้วสามารถเรียกใช้งานได้ที่ Settings > Link Checker

รูปภาพ

รูปภาพ

หากอัพเกรดแล้วมีปัญหากับ Plugin ให้ลองปิดปลั๊กอินทั้งหมดก่อน แล้วค่อยๆ เปิดทีละตัว และตัวที่มีปัญหาอาจลองตรวจสอบดูว่าผู้พัฒนาได้อัพเกรดให้รองรับกับรุ่นใหม่หรือยัง