การติดตั้งและกำหนดค่า Craft CMS ในสภาพแวดล้อม ServBay
ภาพรวม
Craft CMS คือระบบจัดการเนื้อหา (CMS) ที่ทรงพลังและได้รับความนิยมในหมู่นักพัฒนา ด้วยรูปแบบการจัดการเนื้อหาที่ยืดหยุ่น, อินเตอร์เฟสที่ใช้งานง่าย และฟีเจอร์ที่เป็นมิตรกับนักพัฒนา เหมาะอย่างยิ่งสำหรับการสร้างเว็บไซต์ที่ซับซ้อนและปรับแต่งได้หลากหลาย
การใช้ ServBay เป็นสภาพแวดล้อมพัฒนาสำหรับ Craft CMS ให้ข้อดีมากมาย เช่น มีแพ็คเกจ PHP, ฐานข้อมูล (เช่น MySQL หรือ PostgreSQL) และเว็บเซิร์ฟเวอร์ (Caddy หรือ Nginx) ที่ตั้งค่าพร้อมใช้งาน รวมถึงมี Composer และเครื่องมือ command line ในตัว ช่วยให้การติดตั้งและตั้งค่าง่ายขึ้นอย่างมาก
คู่มือนี้จะอธิบายอย่างละเอียดทีละขั้นตอน เพื่อช่วยคุณติดตั้งและกำหนดค่าโปรเจกต์ Craft CMS บน ServBay
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น กรุณาตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- ติดตั้งและเปิดใช้งาน ServBay แล้ว: ตรวจสอบให้แน่ใจว่าได้ติดตั้ง ServBay บน macOS เรียบร้อยแล้ว และมี PHP เวอร์ชันที่ตรงกับความต้องการของ Craft CMS (สามารถดูเวอร์ชันที่รองรับได้ที่ Craft CMS Documentation) พร้อมทั้งให้แพ็คเกจฐานข้อมูลที่ต้องใช้ (ส่วนใหญ่คือ MySQL หรือ PostgreSQL) เปิดใช้งานอยู่ ServBay รองรับ PHP หลายเวอร์ชันและฐานข้อมูลหลายแบบ ให้คุณสลับและตั้งค่าได้ง่ายตามที่ Craft CMS ต้องการ
- มีพื้นฐานการใช้งานคำสั่งผ่าน terminal: คุณจำเป็นต้องใช้ terminal สำหรับสั่งงานบางอย่าง เช่น สร้างโฟลเดอร์และสั่งรัน Composer
- เข้าใจการใช้ Composer: Craft CMS ใช้ Composer ในการจัดการ dependency โดย ServBay มี Composer ในตัว แต่คุณควรเข้าใจการใช้งานคำสั่ง
composer create-project
ขั้นตอนการติดตั้ง Craft CMS
ทำตามขั้นตอนด้านล่าง เพื่อเตรียมและติดตั้ง Craft CMS บนสภาพแวดล้อม ServBay
ขั้นตอนที่ 1: สร้างโฟลเดอร์โปรเจกต์
ก่อนอื่น ให้สร้างโฟลเดอร์โปรเจกต์ใหม่ในโฟลเดอร์เว็บไซต์หลักของ ServBay ที่ /Applications/ServBay/www
ServBay ตั้งค่าโฟลเดอร์นี้ไว้สำหรับให้เว็บเซิร์ฟเวอร์สามารถเข้าถึงโปรเจกต์ของคุณได้โดยตรง
เปิด terminal และรันคำสั่งต่อไปนี้:
bash
cd /Applications/ServBay/www
mkdir servbay-craft-app
cd servbay-craft-app
1
2
3
2
3
คำสั่งนี้จะสร้างโฟลเดอร์ใหม่ชื่อ servbay-craft-app
แล้วเข้าไปยังโฟลเดอร์ดังกล่าวภายใต้ /Applications/ServBay/www
ขั้นตอนที่ 2: สร้างโปรเจกต์ Craft CMS ด้วย Composer
ServBay มาพร้อมกับ Composer อยู่แล้ว คุณจึงสามารถเรียกใช้งาน Composer ในโฟลเดอร์โปรเจกต์ได้ทันที (Craft CMS แนะนำให้ใช้ Composer เพื่อความสะดวกและยืดหยุ่น)
ในโฟลเดอร์ servbay-craft-app
ให้สั่งรัน:
bash
composer create-project craftcms/craft .
1
คำสั่งนี้จะดาวน์โหลด Craft CMS รุ่นล่าสุดและ dependency ที่จำเป็นทั้งหมดมายังโฟลเดอร์ปัจจุบัน (.
) โปรดรอจน Composer ติดตั้งเสร็จสมบูรณ์
ขั้นตอนที่ 3: สร้างฐานข้อมูลและผู้ใช้
Craft CMS ต้องการฐานข้อมูลเพื่อเก็บข้อมูลเนื้อหาและการตั้งค่าระบบ เราจะใช้ phpMyAdmin หรือ Adminer ที่มากับ ServBay ในการจัดการฐานข้อมูล ในตัวอย่างนี้จะใช้ phpMyAdmin
เข้าใช้งาน phpMyAdmin จาก ServBay
เปิดเบราว์เซอร์ ไปที่ Dev Panel ของ ServBay ที่ https://servbay.host/ จากนั้นคลิก "phpMyAdmin" เพื่อเข้าสู่ระบบจัดการฐานข้อมูล
หมายเหตุ: โดยทั่วไป ผู้ใช้และรหัสผ่านของ phpMyAdmin ใน ServBay จะเป็น
root
และServBay.dev
ตามลำดับ เพื่อความปลอดภัย แนะนำให้เปลี่ยนรหัสผ่านของ root หรือสร้างผู้ใช้งานใหม่ทันทีหลังล็อกอินสร้างผู้ใช้สำหรับฐานข้อมูล
แม้จะใช้ root สร้างการเชื่อมต่อกับ Craft CMS ได้ แต่เพื่อความปลอดภัย ควรสร้างผู้ใช้ใหม่เฉพาะสำหรับแอปแต่ละตัว
เข้าไปที่หน้าการจัดการผู้ใช้
ในหน้าแรกของ phpMyAdmin เลือกเมนูด้านบน "ผู้ใช้บัญชี"
เพิ่มบัญชีผู้ใช้ใหม่
คลิก "เพิ่มบัญชีผู้ใช้" แล้วกรอกข้อมูลดังต่อไปนี้:
- ชื่อผู้ใช้: ระบุชื่อสำหรับการเชื่อมต่อฐานข้อมูล Craft CMS เช่น
craft_user
- โฮสต์: เลือก
localhost
หรือlocal
เพื่อจำกัดเฉพาะการเชื่อมต่อจากเครื่องเดียวกัน - รหัสผ่าน: กรอกรหัสผ่านที่ปลอดภัย หลีกเลี่ยงการใช้เช่น
password123
โดยเฉพาะในโปรดักชั่นเซิร์ฟเวอร์ สำหรับ dev สามารถใช้ที่จำง่ายได้ แต่ควรตระหนักเรื่องความปลอดภัย - ยืนยันรหัสผ่าน: กรอกซ้ำอีกครั้ง
- ในส่วน "สร้างฐานข้อมูลที่มีชื่อเดียวกับผู้ใช้และให้สิทธิ์ทั้งหมด" ให้เลือกออปชั่นนี้ เพื่อให้ระบบสร้างฐานข้อมูลชื่อเดียวกับผู้ใช้และมอบสิทธิ์ให้โดยอัตโนมัติ เช่น
craft_user
- ให้แน่ใจว่าได้เลือก "ให้สิทธิ์ทั้งหมด"
- คลิก "ดำเนินการ" (Execute)
- ชื่อผู้ใช้: ระบุชื่อสำหรับการเชื่อมต่อฐานข้อมูล Craft CMS เช่น
ขณะนี้คุณจะได้ผู้ใช้ฐานข้อมูลชื่อ
craft_user
และฐานข้อมูลใหม่ชื่อเดียวกัน พร้อมสิทธิ์ที่เหมาะสม
ขั้นตอนที่ 4: กำหนดค่าเว็บเซิร์ฟเวอร์ (สร้างเว็บไซต์ใน ServBay)
เพื่อให้ Craft CMS ของคุณสามารถให้บริการผ่านเว็บเซิร์ฟเวอร์ (Caddy หรือ Nginx) จำเป็นต้องเพิ่ม “เว็บไซต์” ลงใน ServBay
เปิดแอป ServBay
เปิดโปรแกรม ServBay
เพิ่มเว็บไซต์ใหม่
คลิกเมนู "เว็บไซต์" (ในเวอร์ชันเก่าอาจแสดงเป็น "โฮสต์") ที่ navigation bar ด้านซ้ายมือ แล้วคลิก "+" หรือ "เพิ่มเว็บไซต์" ใหม่
กรอกข้อมูลดังนี้:
- ชื่อ (Name): กำหนดชื่อเว็บไซต์ให้ง่ายต่อการจดจำ เช่น
My Craft Site
- โดเมน (Domains): ระบุชื่อโดเมนที่ต้องการใช้กับโปรเจกต์นี้ในเครื่อง เช่น
servbay-craft.local
ระบบจะตั้งค่า DNS ให้โดยอัตโนมัติ - ประเภทเว็บไซต์ (Type): เลือก
PHP
- เวอร์ชัน PHP (PHP Version): ระบุเวอร์ชันที่รองรับกับ Craft CMS ตามที่ตรวจสอบมา
- รากเว็บไซต์ (Website Root): สำคัญมาก ตำแหน่งนี้ Craft CMS จะให้เว็บเข้าถึงไฟล์ในโฟลเดอร์
web
เท่านั้น ไม่ใช่ทั้งโปรเจกต์ root เพื่อความปลอดภัย กำหนดเป็น/Applications/ServBay/www/servbay-craft-app/web
ตรวจสอบเส้นทางนี้อีกครั้งว่าตรงกับโฟลเดอร์web
ที่สร้างไว้ในขั้นตอนที่ 1
- ชื่อ (Name): กำหนดชื่อเว็บไซต์ให้ง่ายต่อการจดจำ เช่น
บันทึกการตั้งค่า
เมื่อกรอกครบ ให้กด "บันทึก" ServBay จะโหลดค่าคอนฟิกใหม่และแสดงเว็บไซต์ที่เพิ่มไว้ในรายชื่อ คุณควรเห็นเว็บไซต์
servbay-craft.local
ปรากฏในเว็บไซต์ที่ตั้งค่าแล้ว
ขั้นตอนที่ 5: รันโปรแกรมติดตั้ง Craft CMS
ตอนนี้สามารถเปิดเบราว์เซอร์เพื่อเข้าผ่านโดเมนที่ตั้งค่าไว้ และติดตั้ง Craft CMS ผ่านหน้าเว็บได้เลย
เข้าหน้าติดตั้ง
เปิดเบราว์เซอร์และไปยัง
https://servbay-craft.local/
ระบบจะตรวจสอบและ redirect ไปหน้าติดตั้งอัตโนมัติ เช่นhttps://servbay-craft.local/index.php?p=admin/install
กรอกข้อมูลเชื่อมต่อฐานข้อมูล
ในขั้นตอนนี้ ให้ใส่ข้อมูลของฐานข้อมูลที่สร้างไว้ในขั้นตอนที่ 3:
- เซิร์ฟเวอร์ฐานข้อมูล (Database Server):
localhost
- ชื่อฐานข้อมูล (Database Name):
craft_user
(หรือชื่อที่เลือกไว้) - ชื่อผู้ใช้ (Username):
craft_user
(หรือชื่อที่เลือกไว้) - รหัสผ่าน (Password): รหัสผ่านที่ตั้งไว้ในขั้นตอนที่ 3
จากนั้นคลิกเพื่อดำเนินการ ระบบจะทดสอบการเชื่อมต่อ หากถูกต้องจะไปขั้นตอนถัดไป
- เซิร์ฟเวอร์ฐานข้อมูล (Database Server):
สร้างบัญชีแอดมิน
สร้างบัญชีแอดมินสำหรับ Craft CMS ระบุชื่อผู้ใช้ รหัสผ่าน และอีเมล ให้เลือกรหัสผ่านที่ปลอดภัย
กดดำเนินการต่อ
ตั้งค่าเว็บไซต์
กรอกชื่อเว็บไซต์และข้อมูลทั่วไป
คลิก "เสร็จสิ้นการติดตั้ง (Finish Up)" Craft CMS จะสร้างตารางข้อมูลและไฟล์คอนฟิกต่าง ๆ ให้โดยอัตโนมัติ
เสร็จแล้วคุณจะถูกนำไปสู่หน้าเข้าสู่ระบบแอดมินของ Craft CMS
ขั้นตอนที่ 6: การตั้งค่าเริ่มต้นและทดลองใช้งาน
หลังเข้าสู่ระบบแอดมิน สามารถดำเนินการเบื้องต้นดังนี้:
- ตรวจสอบไฟล์
.env
: Craft CMS บริหาร environment variable ผ่านไฟล์.env
ที่โปรแกรมติดตั้งสร้างอัตโนมัติ อยู่ที่ root ของโปรเจกต์ (servbay-craft-app/
) สามารถแก้ไขค่าต่าง ๆ ในไฟล์นี้ได้ เช่น กำหนดCRAFT_ENVIRONMENT
เป็นdev
- ติดตั้งปลั๊กอิน: คลิกเมนู "ปลั๊กอิน (Plugins)" ในแอดมินเพื่อเลือก ติดตั้ง หรือจัดการปลั๊กอินขยายความสามารถของ Craft CMS
- สร้างโครงสร้างเนื้อหา: ทดลองตั้งค่าต่าง ๆ ที่ "ตั้งค่า (Settings)" เช่น ฟิลด์ (Fields), เซ็กชัน (Sections), หมวดหมู่ (Categories), แท็ก (Tags) ฯลฯ
- ตั้งค่าการส่งอีเมล: หากต้องการทดสอบการส่งอีเมลในเครื่อง สามารถตั้งค่าให้ Craft CMS ส่งอีเมลผ่าน Mailpit หรือ Mailhog ของ ServBay ได้ โดยระบุ SMTP ที่ไฟล์
.env
หรือหลังบ้า่งในเมนูแอดมิน กำหนดเซิร์ฟเวอร์เป็นlocalhost
และพอร์ตตามที่ ServBay แสดงไว้
คำถามที่พบบ่อย (FAQ)
- ถาม: เชื่อมต่อฐานข้อมูลไม่ได้ในระหว่างติดตั้ง?
- ตอบ: ตรวจสอบความถูกต้องของข้อมูลเซิร์ฟเวอร์ (
localhost
), ฐานข้อมูล, ชื่อผู้ใช้ และรหัสผ่านให้ตรงกับที่สร้างใน phpMyAdmin และตรวจสอบว่าเซอร์วิสฐานข้อมูลใน ServBay (MySQL หรือ PostgreSQL) ทำงานอยู่
- ตอบ: ตรวจสอบความถูกต้องของข้อมูลเซิร์ฟเวอร์ (
- ถาม: เข้า
servbay-craft.local
แล้วพบ 404 หรือหน้าเปล่า?- ตอบ:
- ตรวจสอบ "รากเว็บไซต์" ใน ServBay ว่าชี้ไปที่
/Applications/ServBay/www/servbay-craft-app/web
อย่างถูกต้อง ซึ่งมักเป็นสาเหตุหลัก - ตรวจสอบว่าเซอร์วิส Web Server (Caddy หรือ Nginx) และ PHP ใน ServBay ทำงานอยู่
- ตรวจสอบว่าได้เปิดใช้งานเว็บไซต์
servbay-craft.local
ในรายการเว็บไซต์
- ตรวจสอบ "รากเว็บไซต์" ใน ServBay ว่าชี้ไปที่
- ตอบ:
- ถาม: ติดตั้ง Craft CMS ด้วย Composer ช้ามากหรือไม่สำเร็จ?
- ตอบ: อาจเกิดจากปัญหาเครือข่ายหรือ mirror source ของ Composer สามารถเปลี่ยนไปใช้ mirror ในประเทศที่เร็วกว่าเช่น Aliyun หรือ Packagist China ได้
- ถาม: หลังติดตั้งเสร็จ หน้าแอดมินหรือหน้าเว็บมีปัญหาแสดงผลหรือภาพไม่ขึ้น?
- ตอบ: มักเป็นปัญหาเรื่องสิทธิ์การเขียนไฟล์ ให้แน่ใจว่า User ที่รัน ServBay มีสิทธิ์เขียนไฟล์ในโฟลเดอร์
storage
,web/cpresources
เป็นต้น หากเจอปัญหา ลองตรวจสอบ/รีเซ็ต permission ของโฟลเดอร์เหล่านี้
- ตอบ: มักเป็นปัญหาเรื่องสิทธิ์การเขียนไฟล์ ให้แน่ใจว่า User ที่รัน ServBay มีสิทธิ์เขียนไฟล์ในโฟลเดอร์
สรุป
เมื่อปฏิบัติตามขั้นตอนเหล่านี้เสร็จ คุณก็จะสามารถติดตั้งและตั้งค่า Craft CMS ใน ServBay บน macOS ได้ โดย ServBay จะช่วยให้การจัดการเวอร์ชัน PHP การตั้งค่าฐานข้อมูล และคอนฟิกเว็บเซิร์ฟเวอร์เป็นเรื่องง่ายยิ่งขึ้น คุณจึงสามารถโฟกัสกับการพัฒนาเว็บไซต์หรือแอปของคุณด้วยความสามารถของ Craft CMS ได้เต็มที่!