วิธีติดตั้งเซิร์ฟเวอร์บน WSL ใน Windows 11

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();
?>

 

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