วิธีติดตั้ง WordPress พร้อม SSL บน Google Cloud Platform

0
1161
Install Wordpress on Google Cloud Platform
Install Wordpress on Google Cloud Platform

เมื่อช่วงต้นปีที่ผ่านมานั้นผมมีความจำเป็นต้องย้ายเว็บไซต์บางเว็บของผม ขึ้นไปอยู่บน Google Cloud Platform (GCP) จากเดิมที่เช่าบริการ Share Hosting ในประเทศไทยเป็นหลัก แต่พอจำนวนเว็บไซต์ที่ต้องดูแลมันเยอะขึ้น ก็เลยคิดว่าการย้ายไปอยู่บน Cloud นั้น น่าจะช่วยให้เราบริหารและจัดการได้ง่ายยิ่งขึ้น และแอบคาดหวังว่าจะประหยัดเงินขึ้นด้วยครับ

บทความนี้จะพูดถึงการติดตั้ง WordPress พร้อมกับติดตั้ง SSL บน Google Cloud Platform (GCP) แบบง่ายๆผ่าน Package สำเร็จรูปยอดนิยมจาก Bitnami ซึ่งเราสามารถเลือกติดตั้งได้ 2 แบบด้วยกันคือ

  1. ผ่าน Deployment Manager บน GCP โดยตรง เพียงค้นหา WordPress with NGINX and SSL Certified by Bitnami and Automattic ใน GCP Marketplace ครับ
  2. ผ่าน Bitnami Launchpad ซึ่งจะเป็นวิธีที่ผมจะเขียนแนะนำในวันนี้ครับ เพราะวิธีนี้เราจะสามารถสร้างไฟล์ Private Key ให้เราใช้งานกับ SFTP ได้ในอนาคตครับ (ไว้เขียนแยกบทความให้ครับ เดี๋ยวจะยาวซะก่อน)

ก่อนที่จะเริ่มต้นกัน เราจะต้องสมัครบัญชีเหล่านี้ให้เรียบร้อยก่อนนะครับ

  • บัญชี GCP ให้ไปสมัครใช้งาน GCP ได้ที่นี่ครับ https://cloud.google.com/ โดยการสมัครใช้งานครั้งแรกจะได้เครดิตฟรีมาใช้งานได้ 300$ ในระยะเวลา 1 ปี หลังจากนั้นค่อยคิดเงินเราครับ
  • บัญชี Bitnami โดยเข้าไปที่ https://google.bitnami.com/ แล้วสมัครสมาชิก Bitnami ได้เลยครับ
  • รวมถึงเราจะต้องมี domain name เป็นของตัวเองด้วยครับ อาจจะเลือกซื้อที่ Google Domains ก็ได้ครับ

เมื่อเรียบร้อยแล้ว เรามาลุยไปพร้อมกันดีกว่าครับ


Step 01 : ติดตั้ง WordPress บน Google Cloud Platform ผ่าน Bitnami Launchpad

ในขั้นตอนนี้เราจะทำการติดตั้ง WordPress ใน Virtual Machine (VM) บน GCP โดยทำผ่าน Bitnami Launchpad วิธีนี้นั้นเหมาะสำหรับมือใหม่ที่ยังไม่คุ้นเคยกับ GCP และไม่ได้มีความรู้ด้าน Network (ผมก็เป็นหนึ่งในนั้น lol) โดยให้เพื่อนๆล็อคอินเข้าบัญชี Bitnami แล้วเลือกไปที่เมนู Virtual Machines ซึ่งเราจะสร้าง VM ได้ที่นี่ครับ

หน้าตาของเมนู Virtual Machines ใน Bitnami ที่ให้เราสามารถสร้าง VM ขึ้นมาได้

จากนั้นให้เราเลือก New Virtual Machine เพื่อสร้าง VM ตัวแรกของเพื่อนๆกันครับ การตั้งค่าให้กับ VM ของเรานั้นสามารถทำผ่านหน้า Dashboard นี้ได้เลย โดยให้เลือก Image เป็น WordPress with NGIX and SSL และ Region เป็นโซน asia-southeast เนื่องจากใกล้ไทยที่สุดแล้วครับ ขณะที่ Disk Size/Server Size เลือกแบบถูกไว้ก่อนก็ได้ครับ สามารถขยับขยายได้ภายหลังครับ

หน้าจอในการตั้งค่า Virtual Machine ที่เราจะติดตั้ง WordPress ลงไปครับ หน้าจอนี้ทำผ่านบัญชีของ Bitnami ได้เลยครับ

ในขั้นตอนการเลือก Cloud Account นั้น ให้เราเลือกที่ Add Project แล้วเราจะถูกส่งไปยังหน้า Project Set Up ซึ่งสามารถ Sign in เข้าบัญชี GCP ได้ที่หน้าต่างนี้เลยครับ ให้เพื่อนๆทำการตั้งค่าตามขั้นตอนจากหน้าจอได้เลย โดยส่วนสำคัญคือขั้นตอนการ Enable Compute Engine API และ Deployment Manager API ซึ่งมันจะสอนเรา Enable API เหล่านี้บน Google Cloud Platform ครับ

ให้เราทำตามคำแนะนำในการตั้งค่า Project ได้เลยครับ ในแต่ละขั้นตอน จะมีลิงค์ให้เราไปกดเปิด Enable API ที่จำเป็นต้องใช้งานครับ

เมื่อ Enable API บน GCP เรียบร้อย เราก็ใส่ข้อมูลของบัตรเครดิตเพื่อไว้ใช้ในการจ่ายเงินรายเดือนนั่นเองครับ หลังจากเสร็จทุกขั้นตอนในการตั้งค่า Project เราจะถูกส่งมายังหน้า Application Info บน Bitnami Launchpad นั่งรอให้ Bitnami จัดการสักครู่ เราก็จะได้ WordPress ติดตั้งบน VM เรียบร้อย

ด้านซ้ายจะเป็นข้อมูลของ WordPress ครับ เป็น default user/password และด้านขวาจะเป็นข้อมูลฝั่ง Server ครับ รวมถึงการใช้งาน SSH Console

ตอนนี้เราก็ได้ WordPress ที่ Run ผ่าน VM บน GCP เรียบร้อยนะครับ เพียงแต่การเข้าไปยังเว็บไซต์เรานั้นต้องเข้าผ่านเลข IP เท่านั้นเอง ซึ่งเดี๋ยวเราจะมาตั้งค่าให้ Domain เราชี้ไปยัง IP นี้กันในขั้นตอนถัดๆไปครับ และอย่าลืมเข้าไปเปลี่ยน password ของ WordPress Admin กันด้วยนะครับ


Step 02 : ตั้งค่า Domain และ IP Address

ในขั้นตอนนี้เราจะต้องตั้งค่าใน Google Cloud Platform กันนะครับ แต่ไม่ต้องตกใจไปครับ เป็นการตั้งค่าที่ไม่ยากครับ โดยเราจำเป็นต้องตั้งค่า Static IP Addresss ให้กับ VM ของเรา ให้เลข IP มันไม่เปลี่ยนแปลงนะครับ หลังจากนั้นเราถึงตั้งค่า Domain ของเรากับ IP Address นั้นๆครับ

การตั้งค่า Static IP Address

เข้าไปที่หน้า Dashboard ของ GCP ก่อนนะครับ จากเมนูทางด้านซ้ายมือ ให้เข้าไปยังส่วนนี้ครั้บ VPC network -> External IP Addresses แล้วให้เราเลือกกดปุ่ม “Reserver Static Address” ทำการตั้งชื่อและเลือก Region เป็น Singapore เพราะว่าใกล้ไทยที่สุดนั่นเอง ส่วน Attached To นั้นให้เลือก VM ที่เราสร้างมาจากขั้นตอนก่อนหน้านี้ครับ

ตั้งค่า Static IP Address ได้ที่นี่ครับ อย่าลืมกด Reserve ด้วยนะครับ (ในรูปครอปมาตกไปนิด T-T)

การตั้งค่า IP Address

ในส่วนนี้เราจะต้องตั้งค่าผ่านผู้ให้บริการที่เราใช้งานอยู่ครับ หน้าตาอาจจะแตกต่างกันไปบ้าง แต่คิดว่าน่าจะเข้าใจไม่ยากนะครับ ของผมใช้บริการผ่าน Google Domain ให้เข้าไปที่การตั้งค่า DNS และนำ IP Address ของ VM ที่เราสร้าง ระบุ Domain Type’s เป็นประเภท A ก็เป็นอันเรียบร้อยครับ

ตั้งค่า Domain Type’s A ให้ตรงกับ Static IP Address ของคุณได้กับผู้ให้บริการที่คุณใช้งานครับ

หลังจากการตั้งค่า DNS และ IP Address นั้นอาจจะใช้เวลา 24-48 ชม. กว่าจะเสร็จสิ้นนะครับ เมื่อเรียบร้อยแล้ว เราก็จะเข้าสู่เว็บไซต์ WordPress บน GCP ผ่านโดเมนเนมของเราเองได้แล้วครับ


Step 03 : การติดตั้ง SSL ให้กับ WordPress ของคุณ

ในขั้นตอนนี้ เราจะทำการติดตั้ง SSL ให้กับเว็บไซต์ของเรากันครับ โดยเราจะใช้บริการของ Let’s Encrypt certificate ที่ให้บริการฟรี วิธีการติดตั้งนั้นต้องทำผ่าน SSH นะครับ โดยให้เราคลิกเชื่อมต่อตรงปุ่ม SSH จากรายชื่อของ VM ที่เราสร้างขึ้นมา

VM Instance บน GCP จะอยู่ภายใต้เมนู Compute Engine

เมื่อเชื่อมต่อเรียบร้อย จะเข้าสู่หน้า command line แบบนี้ครับ

SSH จะมีหน้าตาแบบ command line ให้เราป้อนคำสั่งแบบนี้ครับ

การติดตั้ง Let’s Encrypt ให้ใช้คำสั่งด้านล่างนี้ โดยเปลี่ยน email และเว็บไซต์ (ทั้งมี www และไม่มี www) เป็นของคุณก่อนนะครับ แล้วกด Enter เพื่อส่งคำสั่ง ตามด้วย Y เพื่อคอนเฟิร์ม เป็นอันเรียบร้อย

sudo /opt/bitnami/letsencrypt/scripts/generate-certificate.sh -m i
nfo@featuringtae.com -d featuringtae.com -d www.featuringtae.com

ใช้คำสั่งนี้ในการ restart server นะครับ

sudo /opt/bitnami/ctlscript.sh restart nginx

เมื่อ restart ก็ถือว่าเรียบร้อยให้เข้าไปเชคที่เว็บไซต์ของเราได้เลยครับว่ามี certificate ขึ้นมาเรียบร้อยรึยัง


Step 04 : ตั้งค่า redirect http ไปยัง https

หลังจากที่เว็บไซต์ของเรามี certificate เรียบร้อยแล้ว เราก็สามารถตั้งค่า redirect ให้การเข้าใช้งาน http ถูกบังคับไปยัง https เสมอๆ ซึ่งเราจำเป็นต้องไปแก้ไขไฟล์ config โดยใช้คำสั่งด้านล่างนี้ครับ

sudo nano /opt/bitnami/nginx/conf/bitnami/bitnami.conf

แล้วจัดการเพิ่มบรรทัดนี้เข้าไปครับ return 301 https://www.$host$request_uri; เราสามารถ copy ไปวางแล้วกด control + X เพื่อออก กด Y แล้ว Enter เพื่อยืนยันคำสั่งก็ถือว่าแก้ไขไฟล์เรียบร้อยครับ จากนั้นเราทำการ restart server ด้วยคำสั่งด้านบนได้เลยครับ

ถ้าหาตำแหน่งนี้ไม่เจอ ให้กด ctrl + w แล้วพิมค้นหาได้เลยครับ

Step 05 : เปลี่ยน limit ขนาดของไฟล์ในการ upload

ค่าตั้งต้นของขนาดไฟล์ที่เราสามารถ upload ได้จะอยู่ที่ 40mb อาจจะไม่เพียงพอให้คุณเอาไฟล์ back up ของ wordpress ขึ้นบน GCP ในกรณีของผมนั้นใช้ All-in-one WP Migration ในการ back up (มีทั้ง version ฟรี และจ่ายเงินนะครับ เข้าไปดูตามความต้องการของเราได้)

เราจำเป็นต้องแก้ไขไฟล์ php.ini เพื่อขยาย limit ในการ upload ไฟล์ขึ้น cloud โดยใช้คำสั่งด้านล่างนี้ในการเข้าถึงไฟล์ครับ กด ctrl+w เพื่อค้นหา upload_max_filesize จัดการแก้ไขตัวเลขตามต้องการ แล้วกด ctrl+x และกด Y เพื่อบันทึกการแก้ไขได้เลยครับ

sudo nano /opt/bitnami/php/etc/php.ini
แก้ไขขนาดของ max filesize ให้ใหญ่กว่าขนาด backup file ได้ที่นี่ครับ

จากนั้นเราก็ restart server ด้วยคำสั่งเดิม เป็นอันเรียบร้อย หลังจากนี้เราก็สามารถ upload back up ไฟล์ที่มีขนาดใหญ่ขึ้นได้จากต้องการครับ


Step 06 : นำแบนเนอร์ Bitnami ออกจากมุมล่างขวาของเว็บไซต์เรา

วิธีนำแบนเนอร์ของ Bitnami ออกนั้นให้ใช้คำสั่งด้านล่างนี้ได้เลยครับ ทำแล้วอย่าลืม restart server อีกทีนึงนะครับ

sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1

น่าจะเรียบร้อยทุกข้อที่เราจะต้องทำแล้วล่ะครับ จริงๆแล้วการติดตั้ง WordPress หรือ SSL บน GCP นั้นสามารถทำได้หลายวิธีด้วยกัน ก็สามารถเลือกวิธีที่สะดวกได้เลยครับ ส่วนวิธีที่ผมเขียนแนะนำให้นั้น หากติดขัดที่ขั้นตอนไหน ลองเข้าไปศึกษาจากเว็บไซต์ของ Bitnami ได้เลยครับ ข้อมูลครบและอ่านง่ายมากๆ ถ้าบทความมีประโยชน์ ฝากแชร์ด้วยนะครับ


Tae