จำได้ว่าเคยเขียนเรื่องนี้ไว้เมื่อนานมาแล้ว มีคนถามเรื่องนี้อีกครั้งก็เลยมาเขียน 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 จะเปิดมาให้อยู่แล้ว

Module Forum ใน Drupal นั้น เมื่อเปิดใช้งานแล้ว เราต้องสร้างห้องสนทนาขึ้นมาก่อน จึงจะใช้โพสกระทู้ได้ โดยหลังจากเปิดใช้งาน Module แล้ว เราสามารถสร้างห้องสนทนาได้ที่หน้า Admin > Content > Forum

รูปภาพ

รูปภาพ

รูปภาพ

การปรับเปลี่ยนการแสดงผลข้อมูลใน Drupal เราสามารถปรับแต่งได้ โดยใช้ Module view ซึ่งสามารถดาวน์โหลดได้ที่เว็บไซต์ของ Drupal เอง โดยการปรับการแสดงผลให้แสดงเฉพาะหัวเรื่องสามารถปรับแต่งได้ดังภาพ

รูปภาพ

รูปภาพ

รูปภาพ

รูปภาพ

โดยค่าปริยายของ Drupal การจัดเก็บข้อมูลเบื้องต้นในแต่ละ Content Type นั้น Drupal จะจัดเก็บแค่ หัวเรื่อง และ เนื้อหา (Title and Body) หากเราต้องการ Field เพิ่มในการเก็บข้อมูลอื่น เราสามารถทำได้ด้วย Module ที่มีชื่อว่า CCK (Content Construction Kit) ซึ่งสามารถเพิ่ม Field ต่างๆ ได้ เช่น Text field, URL field, E-mail field เป็นต้น

รูปภาพ

รูปภาพ

รูปภาพ

รูปภาพ

สำหรับการติดตั้งขั้นตอนการติดตั้งโมดูล สามารถดูได้จากหัวข้อ “ต้องการติดตั้ง Module ใน Drupal จะทำอย่างไร”

ให้ใช้ Module ที่ชื่อ Capcha เพื่อช่วยกลั่นกรองป้องกันการโพสต์ข้อความที่มีลักษณะ Spam โดยบอทหรือโปรแกรมอัตโนมัติ
หรืออาจใช้บริการจาก Module พิเศษ ซึ่งมีแบบทั้งใช้ฟรีและเสียค่าบริการ เช่น Mollom, Antispam, Akismet

รูปภาพ

รูปภาพ

สำหรับการติดตั้งขั้นตอนการติดตั้งโมดูล สามารถดูได้จากหัวข้อ “ต้องการติดตั้ง Module ใน Drupal จะทำอย่างไร”

ให้เข้าไปเปิดการอัพโหลดรูปที่ Administer>User management>User settings ในส่วนของ Picture support

รูปภาพ

รูปภาพ

จากนั้นในหน้า My accounts>Edit ของผู้ใช้ทุกคนจะมีกรอบ Picture ให้อัพโหลดภาพประจำตัว

รูปภาพ

หากจะให้แสดงภาพในเนื้อหาและ/หรือ comment ให้ไปเปิดที่ Administer>Site building>Themes>Configure

รูปภาพ

รูปภาพ