เป็นที่รู้กันมานานแล้วว่าแนวทางการพัฒนาของ Drupal สนับสนุนให้ผู้ใช้ต้องใช้ composer ในการสร้างเว็บไซต์ เริ่มต้นด้วยการ SSH เข้าในเซิร์ฟเวอร์แล้วใช้คำสั่ง composer
https://www.drupal.org/download

composer create-project drupal/recommended-project drupal
cd drupal && php -d memory_limit=256M web/core/scripts/drupal quick-start demo_umamiคำสั่งข้างต้นจะเป็นการดาวน์โหลดชุดโปรแกรม Drupal Core เวอร์ชั่นล่าสุด มาไว้ในเซิร์ฟเวอร์ จากนั้นก็จะทำการรันคำสั่งติดตั้งให้พร้อมใช้งาน ด้วยชุดข้อมูลตัวอย่าง “Demo Umami” หากไม่ต้องการชุดข้อมูลตัวอย่าง ก็ให้เปลี่ยน demo_umami ข้างท้าย เป็น Standard ก็จะได้โปรไฟล์ Standard มาให้ พร้อมใช้งานแทน
composer create-project drupal/recommended-project drupal
cd drupal && php -d memory_limit=256M web/core/scripts/drupal quick-start standardต้องแก้ไข documents root จาก /public_html ให้เป็น /public_html/drupal/web ถึงจะเปิดได้ในเว็บเบราว์เซอร์
ติดตั้ง สร้างเว็บ Drupal 11 โดยไม่ใช้ Composer ทำได้หรือไม่?
กลับมาที่ต้นเรื่อง แล้วถ้าเซิร์ฟเวอร์นั่นไม่อนุญาตให้ SSH เข้าไป หรือผู้ใช้ไม่สะดวกในการใช้งานในแนวทางดังกล่าว การติดตั้งโปรแกรม Drupal 11 ในแนวทางดั้งเดิม ยังสามารถทำงานได้อยู่หรือไม่?
คำตอบคือ ยังสามารถทำได้
แม้ว่า Drupal จะผลักดันแนวทางการใช้ composer แต่ก็ยังเปิดทางเลือก ให้ผู้ใช้ดาวน์โหลดไฟล์โค้ด Drupal ที่เป็นการบีบอัดแบบ .tar.gz หรือ .zip นำไปติดตั้งในเซิร์ฟเวอร์ได้ รวมทั้งสามารถใช้งานร่วมกับคำสั่ง composer ได้ด้วย หากผู้ใช้ต้องการใช้งานในอนาคต
และเมื่อเปิดดูข้อมูลในไฟล์ composer.json ของโค้ด Drupal ที่ดาวน์โหลดไฟล์ .tar.gz หรือ .zip ออกมา จะพบว่าเป็นโครงการแบบ legacy-project
“name” : “drupal/legacy-project”
แต่ถ้าเป็นการติดตั้งผ่าน composer จะเขียนว่า
“name” : “drupal/drupal”
หรือถ้าเลือกใช้ Drupal CMS ก็จะเขียนบอกไว้ว่า
“name” : “drupal/cms”
ขั้นตอนการติดตั้ง Drupal 11 แบบดั้งเดิม
ดาวน์โหลดไฟล์จากเว็บไซต์ Drupal โดยอาจจะเลือก .zip

อัปโหลดเข้าไปในเซิร์ฟเวอร์ แตกขยายไฟล์ทั้งหมด วางไว้ที่โฟลเดอร์ document root

เปิดเบราว์เซอร์ พิมพ์ URL ชื่อเว็บไซต์ แล้วทำการติดตั้ง ตามปกติ เลือกภาษา เลือกโปรไฟล์ที่ต้องการใช้ เลือกชนิดของฐานข้อมูล ระหว่าง MySQL/MariaDB, PostgreSQL หรือจะเป็น SQLite ทั้งนี้ ถ้าเลือก PostgreSQL หรือ SQLite ต้องทำการติดตั้งฐานข้อมูลดังกล่าวก่อนเริ่มติดตั้ง Drupal
* หมายเหตุ Drupal 11 ต้องการ SQLite 3.45 ขึ้นไป หากต้องการใช้งาน ต้องใช้งานกับเซิร์ฟเวอร์ที่เป็น Ubuntu 24.04 LTS หรือใหม่กว่านั้น (ในตัวอย่างนี้เลือกสร้างฐานข้อมูล SQLite)
คำสั่งในการติดตั้ง SQLite3 และปลั๊กอินที่ทำงานร่วมกับ PHP 8.3 ในระบบปฏิบัติการ Ubuntu คือ
apt install sqlite3 php8.3-sqlite3




เมื่อเชื่อมต่อ หรือสร้างฐานข้อมูลเสร็จแล้ว ก็ทำการตั้งค่าเริ่มต้นของเว็บไซต์ Drupal 11 ชื่อเว็บไซต์ อีเมล ข้อมูลของ User-1 เท่านั้นก็เป็นอันจบกระบวนการ ติดตั้ง Drupal Core แบบดั้งเดิม

การติดตั้งโมดูลเพิ่มเติม
หลังจากติดตั้ง Drupal Core เรียบร้อยแล้ว ก็สามารถเริ่มใช้งาน Content Types ชนิด Article และ Basic Page ได้ทันที ปรับแต่ง Views และ Block ได้เลย โดยไม่ต้องลงโมดูลเพิ่ม
หากต้องการติดตั้งโมดูลเพิ่มเติม ก็ทำได้โดยดาวน์โหลดไฟล์ .tar.gz หรือ .zip จากหน้าเพจแต่ละโมดูล เอาไปแตกขยายวางไว้ในโฟลเดอร์ /public_html/modules
หลังจากนั้นก็ทำการ Enable โมดูลที่ติดตั้งเข้ามาใหม่


** หมายเหตุก่อนจบ สำหรับการสร้างเว็บไซต์ด้วย Drupal 11 แบบไม่ใช้ composer เลย ยังสามารถทำงานได้ราบรื่นในระดับหนึ่ง
แต่ถ้าหากต้องติดตั้งโมดูลเสริมที่มีความซับซ้อน ที่ต้องมีการติดตั้งโค้ด library จากภายนอก การติดตั้งด้วย composer จะทำงานได้สะดวกกว่า เพราะคำสั่ง composer ในการติดตั้งโมดูล พร้อมกับดาวน์โหลดโค้ดจากภายนอกมาติดตั้งพร้อมให้ใช้งานทันที ไม่ต้องดาวน์โหลดเพิ่มเอง
composer require drupal/module-codename
โฟล์โค้ดของโมดูลที่ติดตั้งผ่านคำสั่ง composer จะถูกเก็บแยกไว้ในโฟลเดอร์ /public_html/modules/contrib อีกชั้นหนึ่ง และในไฟล์ composer.json จะมีข้อมูลว่า โมดูลใดบ้างที่ติดตั้งผ่านคำสั่ง composer หากต้องการลบออก ก็ต้องใช้คำสั่ง composer อีกครั้ง เพราะจะไปลบไฟล์โค้ดที่พ่วงมาให้ด้วยนั่นเอง
คำสั่ง composer สำหรับลบโมดูล
composer remove drupal/module-codename
- Log in to post comments