Windows 11, WSL และ LAMP stack
Windows 11 มีเครื่องมือที่สามารถทำงานในระบบปฏิบัติการ Linux (Ubuntu) โดยซ้อนทับอยู่ใน Windows ได้เลย เรียกว่า Windows Subsystem for Linux หรือตัวย่อ WSL
และในการทำเซิร์ฟเวอร์ในเครื่องคอมพิวเตอร์ และเรียกดูผ่าน localhost ก็สามารถทำได้ ด้วยการเปิดใช้งาน WSL ร่วมกับการติดตั้งโปรแกรม LAMP stack ที่เกี่ยวข้อง
รวมถึงสามารถติดตั้งโปรแกรมสร้างเว็บไซต์อย่าง Drupal 11 ด้วยคำสั่ง Composer และ Drush

ติดตั้ง WSL (Ubuntu) ใน Windows 11
เปิดโปรแกรม PowerShell ด้วยสิทธิแอดมิน (Run as administrator) แล้วพิมพ์คำสั่ง
wsl --installระบบจะทำการดาวน์โหลดและติดตั้ง Linux ซึ่งค่าเริ่มต้นคือ Ubuntu โดยในขั้นตอนสุดท้าย จะให้ตั้งชื่อ Username และ Password ที่จะใช้งาน WSL (Default Unix user account)


ติดตั้ง LAMP stack
ในการทำเซิร์ฟเวอร์ในคอมพิวเตอร์ จะต้องติดตั้งชุดโปรแกรม LAMP Stack ที่ประกอบด้วย Linux (ติดตั้งแล้วด้วย WSL), Apache2, MariaDB และ PHP
โดยในการติดตั้งรอบนี้ จะทำการติดตั้งระบบฐานข้อมูล SQLite3 เพิ่มเข้าไปด้วย เพื่อเป็นทางเลือก และเพิ่มความสะดวกในการสร้างเว็บไซต์ Drupal 11 ต่อไป
รันคำสั่ง update ระบบ Ubuntu
sudo apt update && sudo apt upgradeจากนั้นติดตั้งโปรแกรมที่จำเป็นในคราวเดียว
sudo apt install apache2 mariadb-server sqlite3 php libapache2-mod-php php-mysql php-gd php-xml php-mbstring php-curl php-sqlite3 php-cli php-zip unzipทำการ start 2 รายการ
sudo service apache2 start
sudo service mariadb startเปิดใช้งานฟังก์ชั่น mod_rewriter ของ Apache2
sudo a2enmod rewriteแก้ไข Owner และ Permission ของโฟลเดอร์ /var/www/html ที่จะเรียกผ่าน localhost
หลังจากติดตั้ง Apache2 เรียบร้อยแล้ว จะได้โฟลเดอร์ /var/www/html ที่สามารถเรียกผ่าน localhost โดยจะมี Owner คือ root ซึ่งจำเป็นต้องเปลี่ยน User และ Group ของโฟลเดอร์ ดังกล่าว ถึงจะสามารถแก้ไขและเขียนไฟล์ต่างๆ ลงไป และไม่ต้องใช้คำสั่ง sudo นำหน้าคำสั่งต่างๆ
แก้ไข เปลี่ยน Owner
sudo chown -R $USER:www-data /var/www/htmlแก้ไข สิทธิของโฟลเดอร์และไฟล์
sudo find /var/www/html -type d -exec chmod 775 {} \;
sudo find /var/www/html -type f -exec chmod 664 {} \;ลองเปิด localhost ในเว็บเบราว์เซอร์
หากทุกอย่างถูกต้อง ก็จะพบหน้า Apache2 Default Page

หรือลองสร้างไฟล์ phpinfo.php เพื่อตรวจสอบว่าโปรแกรม PHP และฐานข้อมูลต่างๆ พร้อมใช้งานหรือไม่
<?php
phpinfo();
exit();
?>
- Log in to post comments