หลังจากสร้างเว็บเซิร์ฟเวอร์ในเครื่องคอมพิวเตอร์ และทดลองเปิด localhost ได้สำเร็จแล้ว คราวนี้มาลองติดตั้งเว็บไซต์ Drupal 11 ด้วยคำสั่ง Composer+Drush ว่าต้องดำเนินการอย่างไร
อ่านเพิ่มเติม - วิธีติดตั้งเซิร์ฟเวอร์บน WSL ใน Windows 11
เริ่มต้น ติดตั้ง Composer
รันคำสั่ง ดาวน์โหลด Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"เมื่อดำเนินการสำเร็จ จะได้ไฟล์ composer.phar ในตำแหน่งโฟลเดอร์ที่รันคำสั่ง ต้องย้ายไปในตำแหน่งที่จะใช้งาน
sudo mv composer.phar /usr/local/bin/composerแก้ไขสิทธิการทำงาน
sudo chmod +x /usr/local/bin/composerทำสอบการเรียกใช้ composer (ตรวจสอบเวอร์ชั่น)
composer -vดาวน์โหลด และติดตั้ง Drupal 11 เลือกใช้ฐานข้อมูล SQLite3
เมื่อ Composer พร้อมใช้งานแล้ว ก็ทำการดาวน์โหลด Drupal 11 ด้วยคำสั่ง Composer ได้เลย
composer create-project drupal/recommended-project drupal
จากนั้นใช้คำสั่ง PHP ในการติดตั้ง Drupal โดยคำสั่งนี้จะสร้างไฟล์ฐานข้อมูลที่เป็น SQLite3 ให้แบบอัตโนมัติ
cd drupal && php -d memory_limit=256M web/core/scripts/drupal quick-start standard
เมื่อติดตั้งเรียบร้อยแล้ว จะได้ Username (admin) และ Password (random) สำหรับใช้ล็อกอินเข้าเว็บไซต์ Drupal ที่สร้างขึ้น
อ่านเพิ่มเติม - สร้างเว็บ Drupal ด้วย composer แค่พิมพ์ 2 บรรทัด เสร็จ!
แก้ไข Apache2 config เปลี่ยนตำแหน่ง DocumentRoot
หลังจากติดตั้ง Drupal เสร็จแล้ว หากกลับมาเปิดเบราว์เซอร์แล้วพิมพ์ localhost (ซึ่งจะแสดงตำแหน่งโฟลเดอร์ /var/www/html) จะพบว่า เปิดเว็บไซต์ไม่ได้ พบแค่โฟลเดอร์ drupal เท่านั้น
กรณีนี้ ถือว่าเป็นเรื่องปกติ เพราะในการติดตั้งโปรเจค drupal จะมีการสร้างโฟลเดอร์ย่อย drupal/web เพิ่มเข้ามา ซึ่งจำเป็นต้องแก้ไขตำแหน่งโฟลเดอร์ที่ใช้เรียกข้อมูลเว็บมาแสดงผล

กลับไปที่หน้าต่าง WSL/Ubuntu แล้วพิมพ์คำสั่ง VIM เพื่อเปิดไฟล์ข้อมูลของ Apache2 config สำหรับแก้ไข DocumentRoot
sudo vi /etc/apache2/sites-available/000-default.confโดยโค้ดของเดิมคือ
DocumentRoot /var/www/htmlให้เพิ่มเป็นดังนี้
DocumentRoot /var/www/html/drupal/webแล้วเติมคำสั่งเพิ่มเข้าไป ต่อจากบรรทัด DocumentRoot เพื่อรองรับการทำงานของ Drupal (คำสั่งนี้ มีผลกับไฟล์ .htaccess เพื่อทำ clean URL)
<Directory /var/www/html/drupal/web>
AllowOverride All
Require all granted
</Directory>เมื่อแก้ไขเรียบร้อยแล้ว ให้ทำการบันทึก แล้ว restart Apache2
sudo service apache2 restartแก้ไข Owner และ Permissions โฟลเดอร์ /sites/default/files ให้ Drupal เขียนไฟล์ได้
ในจุดนี้ หากไม่ได้ทำการแก้ไข Owner และ Permissions ที่ตำแหน่งโฟลเดอร์ /sites/default/files ของระบบ Drupal ในการเปิดเว็บไซต์ อาจจะพบ Error Message
ให้กลับไปที่หน้าต่าง WSL/Ubuntu แก้ไขตามนี้
sudo chown -R $USER:www-data /var/www/html/drupal/web/sites/default/files
sudo chmod -R 775 /var/www/html/drupal/web/sites/default/filesเว็บไซต์ก็จะสามารถเปิดได้ตามปกติ
ให้ล็อกอินเข้าเว็บไซต์ Drupal ที่เพิ่งสร้าง ด้วย Username และ Password ที่ได้จากด้านบน

ติดตั้ง Drush และการเรียกใช้งาน
หลังจากทุกอย่างพร้อมใช้งานแล้ว ในขั้นตอนถัดไป คือการติดตั้งโมดูลส่วนเสริมต่างๆ ให้เว็บไซต์ทำงานได้มีประสิทธิภาพยิ่งขึ้น
การติดตั้ง Drush ทำได้โดยพิมพ์คำสั่ง
composer require drush/drushเมื่อได้ Drush เรียบร้อย คราวนี้มาลองใช้งาน โดยการติดตั้งโมดูล Coffee เครื่องมือค้นหาเมนูคำสั่งต่างๆ ของ Admin
เริ่มต้น ดาวน์โหลดโค้ดไฟล์ของโมดูล Coffee
composer require drupal/coffeeเมื่อดาวน์โหลดเสร็จแล้ว ให้ทำการเปิดใช้งาน รวมถึง ล้างแคช เพื่อพร้อมทำงานต่อไป
vender/bin/drush en coffee -y
vender/bin/drush cr
- Log in to post comments