มาเล่น HA WordPress บน Rancher กัน

ครั้งที่แล้วพาเล่น 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 Multisite บน Nginx

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

ประสบการณ์ WordPress

หลังจากย้ายเว็บ 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 มีเท่านี้ครับ

มาใช้ WordPress CLI กัน

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 ทำได้ง่ายๆ ดังนี้

ก่อนติดตั้งควรมี PHP Cli ก่อนนะครับ ดาวน์โหลดและติดตั้ง PHP ให้เรียบร้อย จากนั้นดาวน์โหลด WP-CLI มาดังนี้

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

ตรวจสอบว่าไฟล์ที่ได้มาทำงานได้ถูกต้อง โดยใช้คำสั่ง

php wp-cli.phar --info

ถ้าไม่มี Error อะไร ก็สั่ง chmod และย้ายไฟล์ไปยัง /usr/local/bin ดังนี้

chmod +x wp-cli.phar

sudo mv wp-cli.phar /usr/local/bin/wp

จากนั้นลองใช้คำสั่ง wp –info ดูว่าทำงานหรือเปล่า

เมื่อติดตั้งได้แล้วมาลองใช้งานกัน เริ่มจากติดตั้งและตั้งค่า WordPress ผ่าน WP-CLI

cd /var/www

wp core download

wp core config --dbname=wordpress_db --dbuser=db-username --dbpass=db-password

จากนั้น browse ไปที่เว็บและเริ่มตั้งค่า wordpress ต่อได้เลย ทีนี้มาลองติดตั้ง theme กันบ้าง

wp theme install the-bootstrap

จัดการ activate theme เพื่อเรียกใช้งาน

wp theme activate the-bootstrap

ประมาณนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ WP-CLI ได้ที่ wp-cli.org

ย้าย ThaiOpenSource ไป WordPress

เนื่องจากมีเรื่องจุกจิกกับการจัดการ 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 ได้ดังนี้

 

Plugin WordPress สำหรับทำ Membership ให้กับเว็บไซต์

พยายามหา WordPress Plugin ทำ Membership อยู่นาน ทดลองหลายตัวสุดท้ายมาจบที่ s2member ซึ่งเจ้าตัวนี้รองรับการสมัครสมาชิกหลาย Level มี Register Form ที่ปรับแต่งได้ง่าย กำหนดเนื้อหาสำหรับสมาชิกในแต่ละ Level ได้ และที่สำคัญ สมาชิกสามารถจ่ายเงินผ่าน PayPal ได้ :) อ้ออีกอย่างผู้พัฒนามี Video แนะนำ แถม Video สอนวิธีการใช้งานและการปรับแต่งยาวกว่า 50 นาทีให้ด้วย สำหรับท่านที่สนใจทดสอบ/ทดลอง ก็ดาวน์โหลด s2member ไปลองเล่นกันได้

ว่างๆ น่าจะได้ลองเอามาทำอะไรเล่น

ว่างๆ น่าจะได้ลองเอามาทำอะไรเล่น