Drupal 11 มาตรฐานความปลอดภัยที่สูงขึ้น และรากฐานที่เรียบง่าย

ปัจจุบัน สำหรับการสร้างเว็บไซต์ ปัจจัยที่ถูกท้าทายมากที่สุดอย่างหนึ่ง คือ "ความง่าย" ในการเริ่มต้นสร้างเว็บ

แต่สำหรับ Drupal 11 กลับเลือกที่จะเริ่มต้นด้วยมาตรฐานความปลอดภัยที่สูงขึ้น พร้อมกับการใช้คำสั่ง CLI ในเซิร์ฟเวอร์แทนการคลิกติดตั้งผ่านเบราว์เซอร์เหมือนในอดีต และมีคำถามเปรียบเทียบกับระบบยอดนิยมอย่าง WordPress ที่แทบจะไม่ยุ่งกับเซิร์ฟเวอร์เลย

1. การเตรียมความพร้อม เซิร์ฟเวอร์ สำหรับติดตั้ง Drupal 11

วันที่เขียนบทความนี้ เวอร์ชั่นมาตรฐานสำหรับการสร้างเว็บไซต์ขึ้นมาใหม่ แนะนำให้ใช้ Drupal 11

System requirement สำหรับ Drupal 11 ประกอบด้วย

  • สิทธิการเข้าถึง SSH บนเซิร์ฟเวอร์แบบ VPS เพื่อการจัดการระบบที่มีประสิทธิภาพสูงสุด
  • PHP 8.3 ขึ้นไปเท่านั้น พร้อมฐานข้อมูลรุ่นใหม่ เช่น MySQL 8.0 หรือ MariaDB 10.6
  • Composer คำสั่งที่ใช้ในการควบคุมไฟล์ต่างๆ ติดตั้ง/ลบโมดูล อัปเดทเวอร์ชั่น
composer require drupal/admin_toolbar
  • Drush (Drupal Shell) คำสั่งควบคุมการทำงานต่างๆ เปิดใช้งาน/ยกเลิกการใช้งาน อัปเดทฐานข้อมูล
vendor/bin/drush en admin_toolbar -y

2. เริ่มสร้างเว็บไซต์ Drupal 11 ด้วย Composer และ Drush

เมื่อเตรียมความพร้อมของเซิร์ฟเวอร์ หรือ VPS เรียบร้อย และ SSH เข้าถึงไฟล์ระบบแล้ว

ให้ทำการสร้างไฟล์ฐานข้อมูล ให้เรียบร้อย เพื่อเตรียมใช้งานในขั้นต่อไป ในตัวอย่างนี้เลือกใช้ MySQL

ดาวน์โหลดชุดคำสั่ง Composer ให้พร้อมใช้งาน

จากนั้นให้ย้ายตำแหน่งไปที่โฟลเดอร์ document root ของเว็บไซต์ที่จะสร้างเว็บไซต์ เช่น /home/username/domains/domain/public_html/ หรือ /home/username/public_html/ ตามแต่ละโปรแกรมเว็บเซิร์ฟเวอร์

cd /home/username/public_html/

ดาวน์โหลดไฟล์ Drupal Core เวอร์ชั่นล่าสุด ด้วยคำสั่ง Composer

composer create-project drupal/recommended-project drupal

ไฟล์โค้ดของ Drupal Core จะถูกเขียนไว้ในโฟลเดอร์ย่อย ./drupal/web อีกชั้นหนึ่ง

ย้ายตำแหน่งทำงานอีกครั้ง ไปที่โฟลเดอร์หลักของ drupal

cd drupal

ติดตั้งคำสั่ง Drush

composer require drush/drush

ทำการรันคำสั่ง Drush เพื่อติดตั้งเว็บไซต์ Drupal ร่วมกับฐานข้อมูล MySQL ที่เตรียมเอาไว้ข้างต้น

vendor/bin/drush site:install standard \
--db-url=mysql://db_user:db_password@localhost/db_name \
--site-name="My Drupal Site" \
--site-mail="admin@example.com" \
--account-name="admin" \
--account-pass="admin_password" \
--yes

3. แก้ไข Directory document root

จากเดิม 

/home/username/domains/domain/public_html/

ให้เป็น

/home/username/domains/domain/public_html/drupal/web

เมื่อแก้ไข Directory document root เรียบร้อยแล้ว ก็จะสามารถเปิดเว็บไซต์ Drupal 11 ที่ติดตั้งเสร็จแล้ว พร้อมใช้งาน

4. ยกเลิกติดตั้ง Modules ผ่านเบราว์เซอร์ ใช้คำสั่ง Composer ทั้งหมด

แนวทางในอดีตของ Drupal หรือวิธีของ WordPress คืออนุญาตให้ติดตั้ง Modules หรือ Plugins ได้ผ่านทางเบราว์เซอร์ ซึ่งวิธีดังกล่าวทำให้ระบบ Web Server มีสิทธิ เขียน/บันทึกโค้ด ลงในโฟลเดอร์ที่เก็บไฟล์สำคัญของเว็บ(ฐานข้อมูล/การตั้งค่า) ซึ่งเป็นช่องโหว่ที่ร้ายแรงมาก

Drupal จึงบังคับใช้แนวทาง SSH/Composer เพื่อป้องกันการเข้าถึงไฟล์ระบบ settings.php จากคนภายนอก และแก้ไขได้เฉพาะคนที่มีสิทธิ SSH เข้ามาในเซิร์ฟเวอร์เท่านั้น

และใช้คำสั่ง Composer เพื่อตรวจสอบความถูกต้อง-ครบถ้วน ของทุกไฟล์ Modules ก่อนทำการติดตั้งลงในระบบ รวมถึงหาก Modules ใด มีการเรียกใช้ Modules หรือ Library อื่นๆ ตัวระบบของ Composer จะทำการดาวน์โหลดมาให้พร้อมกันเลย

5. ตัวอย่าง ดาวน์โหลด ติดตั้ง Modules ด้วยคำสั่ง Composer และ Drush

ในตัวอย่างนี้ จะดาวน์โหลดและติดตั้ง ชุด Modules ที่ช่วยให้แอดมินทำงานได้สะดวกขึ้น

  • Admin Toolbar
  • Metatag
  • Pathauto
  • CAPTCHA
  • Node Edit Protection
  • Asset Injector (CSS, JS)

คำสั่งดาวน์โหลดด้วย Composer ในที่นี้ Metatag และ Pathauto จำเป็นต้องใช้ Token ระบบจะดาวน์โหลดให้อัตโนมัติ

composer require drupal/admin_toolbar drupal/metatag drupal/pathauto drupal/captcha drupal/node_edit_protection drupal/asset_injector

เปิดการใช้งาน Modules ทั้งหมด ด้วยคำสั่ง Drush

vendor/bin/drush en admin_toolbar metatag pathauto captcha node_edit_protection asset_injector -y

รันคำสั่งเคลียแคชอีกครั้ง

vendor/bin/drush cr

เท่านี้ก็พร้อมไปตั้งค่าอื่นๆ ผ่านเว็บเบราว์เซอร์ต่อได้เลย

สรุป การดาวน์โหลดและติดตั้ง ต้องทำผ่าน SSH ด้วยคำสั่ง Composer และ Drush แต่การปรับแต่งการใช้งานอื่นๆ สามารถทำผ่านเบราว์เซอร์ได้เหมือนเดิม

comments

สุริยันต์ สายชมภู Mon, 2026-04-20 - 11:35

ขั้นตอนการติดตั้งหรือทำเว็บใหม่นี่ระดับมือสมัครเล่นนอย่งผมยังพอไปได้ครับ หรือตอนนี้ก็มี Drupal CMS ซึ่งใช้ Project Browser (https://www.drupal.org/project/project_browser) แทนพวกคำสั่งที่ซับซ้อนได้
แต่กลัวตอนอัปเกรดข้ามไปที่เวอร์ชั่นใหม่นี่แหละ เช่น 11 ไป 12
แก้ตรงนี้ได้ Drupal จะลดความน่ากลัวลงเยอะเลยครับ

การส่งความคิดเห็น ถือว่าคุณยอมรับ ข้อกำหนดการใช้งาน และ นโยบายความเป็นส่วนตัว ของเรา