Copyright © nuttyi
Design by Dzignine
วันศุกร์ที่ 12 กันยายน พ.ศ. 2557

วิธีใช้ Google App Engine ทำเป็น Web Hosting พร้อม Custom Domain

โฮสเสียตังมีถมไป แต่ถ้าอยากได้ของฟรีล่ะ?

เรื่องของเรื่องคือผมอยากได้โฮสมาใช้กับโดเมนที่พึ่งจดไปครับ ในใจตอนแรกนึกถึง Amazon Web Services เพราะมันถูก (หรือฟรี) ตอนเรียนเคยศึกษาอยู่นิดหน่อย แต่พอลองของจริงแล้วยาก..

พอจะมาใช้ Google Drive (อ่าน วิธีทำ Google Drive ให้เป็น Web Hosting) ก็ติดตรงที่ Google Drive ทำ Custom Domain เองไม่ได้ เอา CNAME ชี้มาตรงๆ ก็ไม่ได้เพราะติด path ลองหาวิธี ก็ไปเจอ gweb.io ซึ่งเป็นบริการที่ช่วยให้เรา Custom Domain เว็บที่ทำบน Google Drive ได้ แต่ปัญหาคือมันไม่ฟรี (เคยฟรี) เลยจบไป

สรุปเลยมาลงเอยกับ Google App Engine ครับ (เป็นคนละตัวกับ Google Apps นะ)

App Engine ฟรีมั้ย?

ฟรีแบบจำกัด แต่ก็เหลือเฟือสำหรับการเริ่มต้นครับ ลองพิจารณาดูโควตาต่อวัน

การสร้าง Project

  1. เข้าเว็บ https://console.developers.google.com/project
  2. กด Create Project
  3. ใส่ PROJECT NAME ตามใจชอบ
  4. ใส่ PROJECT ID ที่ไม่ซ้ำกับของคนอื่น เสร็จแล้วเราจะได้เว็บ http://[PROJECT ID].appspot.com มาด้วย แต่ถ้าไม่สนใจจะใช้ตรงนี้อยู่แล้วใช้ค่า Auto ก็ได้ (เดี๋ยวเราจะเอา PROJECT ID ไปใช้ต่อ)
  5. กด Create เสร็จ
*หมายเหตุ* ตอนสร้าง Project ทีแรกผมสร้างจาก https://appengine.google.com แต่สุดท้ายแล้วไม่สามารถ Custom Domain ได้ ในขณะที่ @jarujit ทำได้ จนผมลองสร้างจาก https://console.developers.google.com/project ถึง Custom Domain ได้ ตรงนี้งงเหมือนกัน แถมโปรเจคที่สร้างจาก https://appengine.google.com จะไม่แสดงจำนวน REQUESTS, ERRORS และ CHARGES ด้วยเลยไม่แนะนำ (ตามรูปคือโปรเจคที่ชื่อ nuttyiiiiiii และ nuttyistyle ถูกสร้างจากหน้า https://appengine.google.com)

การ Deploy เว็บ

ส่วนของการ Deploy เว็บนี่จะเป็นส่วนที่ซับซ้อนหน่อยครับ ผมใช้ OS X แต่คิดว่า Windows ก็คงคล้ายๆ กัน
  1. โหลด Template (ขอขอบคุณ labnol) จะได้ website.zip
  2. Unzip ออกมาจะเจอไฟล์จำนวนนึง เราต้องการแค่ app.yaml, index.yaml, main.py ครับ ที่เหลือลบทิ้งให้หมด
  3. แล้วเอา 3 ไฟล์ดังกล่าวมาวางรวมไว้ใน folder เว็บที่เราทำไว้
  4. ใน main.py ให้กำหนดหน้าแรกของเราให้ถูก เช่น index.htm หรือ index.html
  5. ใน app.yaml ให้แก้ค่า application: ให้เป็นชื่อ PROJECT ID ของเรา 
  6. โหลดและลง โปรแกรม สำหรับ deploy เว็บ (Mac OS XWindowsLinux)
  7. เปิดโปรแกรม GoogleAppEngineLuncher ลากตัวโฟลเดอร์ของเว็บเรามาวางในโปรแกรม
  8. กด Deploy ได้เลยครับ จบ (แล้วเราจะได้ เว็บในชื่อ [PROJECT ID].appspot.com มาด้วย ถ้าตามตัวอย่างก็เป็น http://grand-lamp-691.appspot.com)
*หมายเหตุ* สำหรับผู้ที่ใช้ 2-step verification จะพบปัญหา Sign In ไม่ผ่าน ให้เข้าเว็บ https://security.google.com/settings/security/apppasswords เพื่อขอรหัสผ่านมาใช้กับตัว GoogleAppEngineLuncher ครับ


การ Custom Domain

  1. เข้า https://console.developers.google.com/project
  2. กดเข้าไปที่ Project ของเรา
  3. ที่แถบซ้ายมือ ให้เข้า Compute > App Engine > Settings

  4. ในหน้า Settings ด้านบนให้เลือก CUSTOM DOMAINS ทำตามขั้นตอนตามที่หน้าเว็บแนะนำ
*หมายเหตุ* ถ้าเราเคย verify domain กับบริการอื่นของ google ไว้แล้ว จะไม่ต้อง verify ใหม่ เลือกใช้ domain เก่าของเราได้เลย เพราะฉะนั้นถ้าใคร verify ในขั้นตอนที่ 1 ไม่ได้ แนะนำให้ไป verify ผ่าน blogger ก่อนแล้วค่อยกลับมาที่ขั้นตอนที่ 2 ครับ

ยังไงมีข้อสงสัยเพิ่มเติมสอบถามได้ครับ ทาง twitter น่าจะไวสุด @nuttyi

5 comments :

  1. คำตอบ
    1. แคปหน้าจอมาได้มั้ยครับ ว่ามันขึ้นว่าอะไร

      ลบ
  2. ข้อ 5. ผิดนะครับ ต้องเป็น app.yaml ไม่ใช่ index.yaml

    ตอบลบ
  3. มีห้องบอร์ดพูดคุยสำหรับสมาชิกที่สนใจ Google App Engine
    https://timeforums.appspot.com/index.php?board=38.0

    ตอบลบ