#136 - บันทึกการติดตั้ง Ghost บน Digital Ocean และ Cloudflare

30 Jan 2021 ProgrammingTechBlogging

หน้าเว็บ Digital Ocean

บันทึกการติดตั้ง Ghost Blogging Platform บน Digital Ocean และตั้งค่า DNS บน Cloudflare ซึ่งจริงๆ ก็ดูเหมือนง่าย แต่ก็มีแอบยาก จริงๆ ไม่ได้ยาก คือมันต้องรอเวลา หรือต้องทำตามลำดับ ก็เลยขอบันทึกไว้เล็กๆ น้อยๆ

สิ่งที่ต้องมีหรือรู้คือ:

  • มีบัญชี Digital Ocean (หรือสมัคร ได้ที่นี่)
  • รู้จัก Terminal  หรือใช้ SSH เป็น
  • ตั้งค่า DNS ที่ Domain Provider ได้เช่น Name.com หรือ Godaddy.com
  • มีบัญชี Cloudflare และสามารถเพิ่มเว็บไซต์เป็น
Disclaimer: สำหรับ Digital Ocean เป็น Affiliate Link กดสมัครจากผมได้ $100 ฟรีๆ เอาไปทดลองใช้ ครับ ถ้าไม่อยากกดจาก link สามารถเข้าตรงได้เลยครับ https://www.digitalocean.com/

TL:DR

เวอร์ชั่นสั้นๆ สำหรับคนขี้เกียจอ่าน

  1. สร้าง Droplet เลือก Ghost Application
  2. Add new website ในหน้า Cloudflare รอ Verify นิดหน่อย
  3. แก้ DNS ให้ชี้มาที่ Cloudflare
  4. ปรับแก้ DNS ใน Cloudflare ชี้ไป IP ของ Digital Ocean
  5. รอ DNS อัพเดทซักนิดนึง (ไม่งั้นเดี๋ยว Error ตอน setup letsencrypt ssl)
  6. SSH เข้าไป Droplet ที่สร้าง ตัว Ghost จะ auto setup
  7. เข้าเว็บ <website>/ghost เพื่อ setup account
  8. กรณีมีปัญหา Redirect รัวๆ อาจเนื่องมาจาก Cloudflare ก็ไปกำหนด SSL/TLS เป็น Full Strict ซะ
  9. น่าจะเรียบร้อยแล้ว

สร้าง Droplet

เริ่มต้น ก็สร้าง New Droplet ขึ้นมาเลย ใครไม่รู้จักกดไปอ่านเพิ่มเติม Link ที่ผมเขียนไว้ได้เลยครับ

Devahoy | Digital Ocean คืออะไร ? + สอนวิธีการติดตั้งและสร้าง Droplet
ต้องบอกว่าตอนนี้ เจ้า DigitalOcean นั้นมาแรงเหลือเกิน เป็น Hosting น้องใหม่ ที่น่าจับตามอง มีคนใช้บริการเกิน 1ล้านเครื่อง และล่าสุด เพิ่งระดมทุนไปกว่า 30 ล้านเหรียญ วันนี้ก็เลยจะมานำเสนอ การใช้งาน DigitalOcean…

ข้อดีคือมี 1-Click Install ครับ ก็เลือก Marketplace จากนั้นก็ค้นหาคำว่า Ghost ก็จะได้ Ghost 1-Click Install เลย จากนั้นก็เลือก ความแรงเครื่อง อยากได้ RAM เท่าไหร่ ขนาดเท่าไหร่ ก็ตามกำลัง สุดท้ายเลือก Data Center ส่วนใหญ่ผมก็เลือกสิงคโปร์ เพราะใกล้ไทยที่สุดละ

Ghost 1-Click Install

จัดการ DNS

เป้าหมายคือ ผมต้องการเอาเว็บไว้ข้างหลัง Cloudflare ฉะนั้น ก็เลยต้องแก้ DNS จาก Domain Provider ให้ชี้มา Cloudflare วิธีการก็คือ

เข้าเว็บ Cloudflare ไปเพิ่ม New site ซะ จากนั้น ก็ทำตาม Instruction ได้เลย คือเข้าไปที่ Domain Provider ของเรา (ผมใช้ name.com) ก็เลือก จัดการ DNS แล้วเปลี่ยน จาก default หรือที่อื่นๆ มาที่ Cloudflare

น่าจะเป็นประมาณนี้
woz.ns.cloudflare.com
rose.ns.cloudflare.com

จากนั้นก็รอ Cloudflare verify โดเมนเราซักนิด รออีเมล์ตอบกลับ ว่าสำเร็จแล้ว ก็เริ่มต่อได้เลย

จากนั้นแท็ป DNS ของ Cloudflare ก็จัดการตั้งค่า A Record ไปที่ IP Address ของ Digital Ocean ซะ รอ DNS อัพเดทซักแปป ก่อน SSH เข้าไปที่ Droplet

SSH เข้า Droplet

เมื่อตั้งค่า DNS ของ Cloudflare พร้อม A Record มาที่ IP Address ของ Droplet แล้ว ก็ทำการ SSH เข้าไปที่เครื่องซะ เมื่อเข้าครั้งแรก ระบบจะ Auto Setup ให้เราเลย

  • ทำการดาวน์โหลด Ghost ล่าสุดให้
  • จัดการ Database, Setup พวก SSL โดยใช้ Letsencrypt

สิ่งที่เราต้องทำก็แค่ชื่อ Domain และ Email เอาไว้สำหรับ SSL สิ่งที่ต้องทำก็แค่กด ENTER

ต่อมา กลับไปที่เว็บ Cloudflare เลือกแท็ป SSL/TLS แล้วเปลี่ยนเป็น Full Strict เนื่องจากว่าเรา Setup SSL ฝั่ง Droplet เรียบร้อยแล้วด้วย LetsEncrypt ไม่งั้นเดี๋ยวอาจจะเกิดปัญหา Error redirect รัวๆได้

เมื่อทุกอย่างเรียบร้อย ก็แค่เข้าเว็บ http:<DOMAIN>/ghost ก็จะได้หน้า Welcome หน้าแรกของ Ghost เพื่อตั้งค่า default account ของ Ghost

Done!


เพิ่มเติมเล็กๆน้อยๆ

ปกติ ใน Cloudflare ผมมักจะ setup เป็น A Record + CNAME เช่น

  • <DOMAIN> - เป็น A ชี้ -> IP Address
  • www.<DOMAIN> - เป็น CNAME

ซึ่งถ้าใครใช้ www และ non-www เป็น A Record ไปที่ IP จะมีปัญหาเฉพาะเวลาพิมพ์ www เนื่องจาก ตัว Ghost มัน setup SSL แค่ตัว Domain เราครับ ก็ต้องไปเพิ่ม nginx config และ ssl ไฟล์เพิ่มนะครับ

Happy Learning ♥️


Chai Phonbopit

เป็นนักพัฒนาซอฟแวร์ เวลาว่างนอกจาก Coding ก็จะเขียนบล็อกเกี่ยวกับสอนทำเว็บไซต์ สอน Programming ที่ devahoy.com ชื่นชอบการพัฒนาตัวเองและเชื่อว่าการสอนเป็นหนึ่งในวิธีการเรียนรู้ที่ดีที่สุด ❤️🎒🍣🎸⚽️

แสดงความคิดเห็น