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

โดยค่าปริยายของ 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

รูปภาพ

รูปภาพ

ให้ติดตั้งมอดูล wysiwyg (http://drupal.org/project/wysiwyg) จากนั้นให้เปิดมอดูล และเข้าไปที่

Administer>Site configuration>WYSIWYG

**เพิ่มเติมขั้นตอนการติดตั้ง WYSIWYG โดยยกตัวอย่าง Editor สักตัว

จากนั้นทำตามขั้นตอนที่ปรากฎในกรอบ Installation instructions โดยให้เลือกลงตัวใดตัวหนึ่ง เช่น tinymce โดยกดที่ลิงก์ Download

รูปภาพ

เลือก Main package

รูปภาพ

แตกไฟล์ที่ได้ไปที่ sites/all/libraries (ต้องสร้างใหม่)

รูปภาพ

จากนั้นกลับไปที่หน้า WYSIWYG ให้ทำการ refresh และเลือก editor เป็น TinyMCE

รูปภาพ

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

Administer > Site configuration > Site information

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

รูปภาพ