จำได้ว่าเคยเขียนเรื่องนี้ไว้เมื่อนานมาแล้ว มีคนถามเรื่องนี้อีกครั้งก็เลยมาเขียน How-To ไว้สักหน่อย ปัญหาเดิมจากครั้งที่แล้ว เราต้องการเว็บไซต์หลายๆ เว็บโดยใช้ Drupal ตัวเดียว ซึ่ง Drupal เองก็รองรับการทำ Multi Site อยู่แล้ว ยกตัวอย่าง ต้องการสร้างเว็บโดยใช้ Drupal Multi Site

  • www.fffee.org
  • site1.fffee.org
  • site2.fffee.org

วิธีการง่ายๆ ให้คุณตั้งค่า domain www.fffee.org, site1.fffee.org และ site2.fffee.org ชี้ไปยังเครื่องเดียวกัน เพราะเราจะใช้ค่า ServerAlias สำหรับ virtualhost เข้าช่วย มาติดตั้งสิ่งที่จำเป็นแบบเร็วๆ กันก่อน


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 ได้ดังนี้

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

  1. Policy ครับ นโยบาย อันนี้ไม่มีเป็นโมดูลครับ ต้องจัดการเอง เริ่มจากกำหนดให้ดีว่าใครจะสามารถใส่เนื้อหาลงในเว็บได้บ้าง (ทุกคน หรือเฉพาะสมาชิก) ถ้าเปิดให้สมาชิกโพสได้ แล้วใครสมัครสมาชิกได้บ้าง การอนุมัติการเป็นสมาชิกจะทำด้วยวิธีไหน อันนี้สำคัญมาก
  2. reCAPTCHA เป็นตัวช่วยในการชืนยันความเป็นมุษย์ของผู้เข้าใช้งานเว็บ โดยจะแสดงข้อความยึกยือขึ้นมาให้เราพิมพ์ตาม ว่าเราอ่านรู้เรื่องหรือไม่
  3. http::BL HTTP Black List ตัวนี้จะคอย Block IP ของสแปมเมอร์ให้ครับ เป็นตัวที่ควรมีไว้
  4. Bad Behavior จะคอยตรวจสอบพฤติกรรมการเข้าใช้งานเว็ย ว่าเป็นคนหรือเป็นหุ่นโดยการวิเคราะห์จาก HTTP
  5. Mollom เป็นตัวที่หลายคนแนะนำ แต่หลังๆ ทำงานไม่ค่อยดี ผมเลยถอดไปแล้ว (ไม่แน่ใจว่าถ้าใช้แบบเสียเงินจะดีไหม) ตัวโปรแกรมจะมีบริการสำหรับวิเคราห์สแปม แล้วก็สั่งบล๊อกให้อัตโนมัติครับ

ส่วนตัวก็ยังไม่เจอโซลูชั่นที่สมบูรณ์แบบครับ เพราะสแปมเมอร์ก็ฉลาดมาก ยังต้องคอยไล่ลบด้วยมือเป็นระยะๆ ยังไงแล้วถ้าได้เทคนิควิธีการที่ดีกว่านี้จะนำมาฝากครับ

หลังจากติดตั้ง Drupal แล้ว เราสามารถเข้าใช้งานหน้าเว็บไซต์ได้ทันที ที่ http://localhost/drupal โดยสามารถเรียกใงานผ่านโปรแกรมเว็บเบราเซอร์ได้ทุกตัว

รูปภาพ

รูปภาพ

รูปภาพ

สามารถทำได้โดยเข้าไปปรับที่

Administer > Site configuration > Clean URLs โดยเลือกเป็น Enabled

รูปภาพ

รูปภาพ

รูปภาพ

ทั้งนี้จะต้องเปิดโมดูล rewrite ใน Apache ด้วย ซึ่งทั้งใน Suriyan และ XAMPP ของ Chantra จะเปิดมาให้อยู่แล้ว

สามารถทำได้โดยแก้ไขที่

Administer > Site configuration > Site information

จากนั้นป้อนชื่อเว็บไซต์ที่ต้องการในช่อง Site name โดยที่ Drupal นั้นจะรองรับทั้งภาษาไทยและภาษาอังกฤษ สามารถป้อนชื่อตามที่ต้องการได้ทันที

รูปภาพ

1.ดาวน์โหลด module ที่ต้องการได้จากเว็บโครงการ drupal ที่
http://drupal.org/project/Modules
หรือเว็บแนะนำ module ที่น่าสนใจของ drupal พร้อมจัดอันดับความนิยม/คะแนน

http://drupalmodules.com
2.แตกไฟล์ module และอัพโหลดแฟ้มโมดูลนั้นไปยัง server ที่ติดตั้ง Drupal โดยอัพโหลดไปยังที่
sites > all > modules (ถ้ายังไม่มีแฟ้ม modules ให้สร้างขึ้นใหม่ก่อน)

รูปภาพ

3.เปิดใช้ module โดยไปที่ Administer > Modules > List และทำเครื่องหมายถูก modules ที่ต้องการใช้ จากนั้นกด Save Configuration

รูปภาพ

ผู้ดูแลเว็บไซต์ Drupal สามารถอนุญาตให้บุคคลทั่วไป (anonymous user) เขียน Comment ได้โดย
1.ตรวจสอบว่า Module Comment เปิดใช้หรือยัง ถ้ายังไม่เปิด ให้เปิดใช้

ไปที่เมนู Administer > Site Building > Modules > List ทำเครื่องหมายถูกหน้า Module Comment แล้ว Save Configuration

รูปภาพ

2.กำหนดให้ anonymous user (บุคคลทั่วไป) มีสิทธิ์แสดงความคิดเห็นใน Comment ได้

ไปที่เมนู Adminster > User Management > Permissions > comment module

ทำเครื่องหมายถูกในช่อง access comments เพื่อให้สามารถเห็น comments อื่นได้
และ post comment เพื่อให้สามารถเขียน comment ได้

หากต้องการให้เขียน comment โดยไม่ต้องรอการอนุมัติจากผู้ดูแลระบบให้เลือก post comment without approval

รูปภาพ
3.กดปุ่ม Save Permissions เมื่อทำการกำหนดค่าเรียบร้อยแล้ว