Photo by Dawn McDonald / Unsplash

Self-Hosted Ghost ไม่ยากอย่างที่คิด

Ghost Mar 7, 2023

เชื่อว่าหลายๆ คนอยากจะใช้ Ghost แบบฟรีๆ ไม่อยากเสียตังใช้ Ghost Pro วันนี้ผมมาแนะนำวิธีการใช้ Ghost แบบ Hosting ของเราเอง แต่ต้องบอกก่อนว่ามันไม่ได้ง่ายเท่าไหร่ และก็ไม่ได้ฟรีอย่างที่คิด มีค่าราคา เวลา และก็ต้องใช้สกิลของเรา ฉะนั้นก็ลองพิจารณาข้อดีข้อเสียของ Ghost Pro กับ Self-Hosting ดูครับ

และก็ข้อเสียของ Self-Hosting ก็มีเหมือนกัน (ส่วนตัวผม มองว่า Ghost Pro $9 แบบจ่ายรายปี หรือ $11 ต่อเดือน ก็เป็นราคาที่โอเค โดยที่เราไม่ต้องยุ่งยากในการจัดการต่างๆ)

ข้อเสียของ Self-Hosting

  • ต้องเสียค่า VPS ราคาก็ขึ้นอยู่กับ Spec เริ่มต้นคือ $6 ต่อเดือน
  • เสียค่า Email Newsletter (ถ้าส่งเมล์ไม่เยอะ ยังใช้ฟรีได้) ลองดูราคาพวก Sendgrid, Mailgun ดูครับ
  • ต้องใช้งาน SSH เป็น เข้าไป Setup ที่ Server หรือคอยอัพเดท หรือ backup ข้อมูล
  • จัดการ SSL เอง ข้อนี้อาจจะไม่ค่อยยุ่งยาก ทำผ่าน Cloudflare ก็ได้
Devahoy Blog - Private Site Access
https://blog.devahoy.com/ghost-config-mail/

ทีนี้ก่อนไปเริ่ม เราลองมาเปรียบเทียบกันดูก่อนได้ครับ ข้อดี ข้อเสีย

Hosting a Ghost publication - Fully-managed PaaS & self-hosted
The most efficient way to deploy an instance of Ghost is on our official fully-managed PaaS. Or you can self-host using our recommended stack!

Step 1 - เริ่มต้นสร้าง VPS

เราจะใช้ VPS ในการเป็น Host วิธีที่ง่ายที่สุดคือ ใช้ Digital Ocean เพราะว่ามี One Click Application ให้เรา ใช้งานง่ายๆ ขอแค่ใช้ Terminal เบื้องต้นได้ ก็โอเคละ

สร้าง Droplet ขึ้นมา เลือก Ghost One Click Application

เริ่มต้น $6-$7 ต่อเดือน แบบ VPS เล็กสุด

ตอนนี้เราสามารถ access เข้าเครื่องผ่าน SSH ได้ละ แต่เดี๋ยวก่อน อย่าเพิ่ง ไปจัดการ DNS step ถัดไปก่อน  จำแค่ IP Address ของเครื่อง Digital Ocean ไว้ก็พอ เพราะจใช้สำหรับ Setup DNS

Step 2 - Setup DNS

ขั้นตอนนี้ เราจำเป็นต้องมี Domain name ของเราก่อน ส่วนนี้ก็แล้วแต่ผู้ให้บริการของเราเลยครับ แค่เข้าไปหน้าจัดการ และเลือก DNS ชี้ A Record ไปที่ IP Address ของ Digital Ocean

รอ DNS มันอัพเดทซักครู่ 10-30นาที

Step 3 - SSH เข้า Droplet

เข้า Droplet ของเราผ่าน SSH เมื่อเข้าไปถึงจะเจอ command ก็ทำตามได้เลย

ssh root@<YOUR_IP>

จะเจอข้อความประมาณนี้

Ghost will prompt you for two details:

1. Your domain
 - Add an A Record -> xxx.xxx.xxx.xxx & ensure the DNS has fully propagated
 - Or alternatively enter http://xxx.xxx.xxx.xxx
2. Your email address (only used for SSL)

Press enter when you're ready to get started!
  • ข้อ 1 คือเราเพิ่ม A Record แล้ว
  • ข้อ 2 ก็ใส่ Email Address ของเรา เอาไว้ renew SSL Cert.

พร้อมแล้วก็กด Enter แล้วก็รอจนกว่าจะติดตั้งเสร็จ

Step 4 - Setup Admin

เมื่อติดตั้งเสร็จเรียบร้อยแล้ว เราเริ่มทำการ Config Admin โดยเข้าไปที่ /ghost ต่อท้าย Domain ของเรา เช่น mywebsite.com/ghost

จะเจอหน้า Welcome Ghost ก็ใส่ข้อมูลลงไป เป็นอันเรียบร้อยครับ 🎉

แหล่งอ้างอิง

How to install Ghost on Digital Ocean - Official guide
A full production install guide for how to install the Ghost professional publishing platform on a production server running Ubuntu 16.04, 18.04, 20.04 or 22.04.

🎉 เสร็จเรียบร้อย ใครที่ไม่ค่อยคล่องการทำเอง แนะนำใช้ Ghost Pro ดีกว่านะครับ เสียรายเดือน แต่ได้ความสะดวกสบาย ตัวอย่างนี้คือของเว็บนี้นะครับ มีปัจจัยอะไรบ้างที่ผมพิจารณา (ณ วันที่เขียนบทความ) ว่าจะใช้ Ghost Pro ดีมั้ย:

  • ผมใช้ Self-Host ผ่าน Digital Ocean ราคา $6 ต่อเดือน ถ้าผมเลือก Ghost Pro จะเสีย $11 ต่อเดือน (จ่ายรายปี $9 ต่อเดือน)
  • ถ้าใช้แค่ Default Theme ผมจะเลือก Ghost Pro เพราะแค่ $9 ไม่ต่างจากมีโฮสเอง $6 ได้ความสะดวก แต่พอดีเว็บต้องใช้ Custom Theme ราคาก็เป็น $31 ต่อเดือน สำหรับ Ghost Pro ในขณะที่โฮสตัวเอง ก็เสียเท่าเดิม $6 ต่อเดือน
  • Self-Host ไม่มี Email Service ต้องใช้ของฟรี จาก Sendgrid (ส่งได้ฟรี 100 อีเมล์ต่อวัน) เริ่มต้น ยังดีอยู่ แต่ถ้าใครมีเว็บที่ต้องส่งเมล์เยอะๆ ก็ต้องเสียค่า Sendgrid ประมาณ $20 ต่อเดือน ถ้ามีรายจ่ายตรงนี้ ไปใช้ Ghost Pro ดีกว่า
  • เมื่อ Ghost มีอัพเดทใหม่ๆ ต้องมาอัพเดทเอง ตรงจุดนี้ ถ้าเราไม่คล่อง แนะนำ Ghost Pro จะดีกว่า ส่วนตัวผม ก็กำลังพิจารณาอยู่ว่าจะใช้ Ghost Pro ไปเลยมั้ย เพราะขี้เกียจตั้งค่า ดูแล Server เองนี่แหละ)

สุดท้าย ลองตัดสินใจกันดูนะครับ ว่าจะเลือกใช้ Self-Hosting หรือ Ghost Pro

Tags

Chai Phonbopit

เป็น Web Dev ทำงานมา 10 ปีหน่อยๆ ด้วยภาษา JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจ Web3, Crypto และ Blockchain เขียนบล็อกที่ https://devahoy.com