如何在 GCP 雲端虛擬機上 建置LAMP 環境並安裝 WordPress (2021更新)

閱讀時間約 9 分鐘
本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。
這個架設方式也適用於想要使用 VMware Workstation 16 Player、微軟的Hyper-V 或是 VirtualBox 等各類虛擬機程式,在本機端架設練習環境測試 WordPress 的使用者,目前測試過 AWS 、Azure 以及 GCP 的虛擬機器服務,由於本人的 AWS 與 Azure 的免費帳號剛到期,所以本次將會使用 GCP 作為主要架設介紹。
GCP(Google Cloud Platform)是 Google 提供的雲端平台服務,包含了運算、資料分析(如 BigQuery、Cloud Dataflow)、儲存以及API管理、機器學習等眾多產品。( 懶人包 )
使用 GCP 等大公司的線上虛擬機進行架設主要的目的是練習,架設一個練習用的環境,進行許多的功能測試,或是練習自己的技巧,當然最佳的架設 WordPress 方式還是使用各大主機商的託管服務比較好,AWS、Azure、GCP本身也都有提供 WordPress 的一鍵架設( 雖然費用很貴 )。
由於 Roy 的公司官網是架設在自家的NUC小主機上,為了學習該要如何掌控這個官網只好走本機安裝的路線,也因此學到了許多技巧,網路上也有許多大神的文章分享,這邊將整理自己實測可行且能夠重複執行的技巧分享給大家。
本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。
首先需要準備的軟體有
  1. WinSCP 下載連結 ( 圖形化ssh軟體 )
  2. Putty 下載連結 ( ssh軟體,安裝過程記得要安裝PuTTYgen )
  3. 註冊域名,練習的話可用 Freenom ( 教學文 )
  4. 註冊 GCP ( 過於簡單,請自行爬文 )
若是不想安裝 Putty 進行 ssh 連線也沒關係,可以從 GCP 直接使用瀏覽器連線
※ 直接跳到環境部屬,LAPM+phpmyadmin安裝

一、製作金鑰,啟動新的 GCP 虛擬機,然後進行遠端連線。

首先開啟 PuTTYgen,我們要製作一個 SSH 金鑰,或稱公開安全殼層金鑰。
📷滑鼠要一直動
點選 Generate 鍵,生成金鑰,由於一些我也不明白為什麼的原因,點擊 Generate 後滑鼠要在畫面上一直動,不然程式會卡住。
📷
在 Key comment 可以輸入自己想要的登入帳號,在這邊我使用的是 roy。
點擊 Save private key 將這個 .ppk 檔另存,
將上方那一大串不明文字複製起來,我們要準備去創建 GCP 的虛擬機了。
📷
登入主控台,選擇 Compute Engine > VM執行個體 > 點擊 建立執行個體。
📷
GPC 可以在美國區域內每月 1 個非先占 f1-micro 免費使用( 說明文件 ),但是 Roy 這邊在經過多次的測試後發現,由於我也無法明白的原理,使用免費等級的機器類型,會無法安裝 MySQL 。
所以這邊就使用 Google 給的 $300 測試額度,建立一個等級高一點的虛擬機,這邊我通常地區會選台灣,系列會選 E2,類型會設定在 2 vCPU|2 GB記憶體。
📷
在開機磁碟這邊點擊變更,選擇Ubuntu系統,版本我通常選擇 Ubuntu 20.04 LTS,磁碟類型我不曉得哪個比較好,但是說有寫標準永久磁碟花費最低廉,那我就選這個,大小請設定在 20 GB以上。
📷
防火牆指的是 GCP 的防火牆,不是 Ubuntu 系統的防火牆,這邊要打開 80 跟 443 port,不然就無法透過外部連線進去了。
請將剛才在 PuTTYgen 複製的 一長串不明文字貼上來 ssh 這邊,這樣就可以建立一個 shh 連線的帳號了。
不想要使用 putty 連線也沒關係,直接點選這裡的「在瀏覽器視窗中開啟」,也是一樣可以連線到你的虛擬機的。
📷
WinSCP是圖形化的 ssh 連線軟體,簡單的理解就是透過 ssh 協定,可以連線到遠端主機並且像Windows的檔案管理員一樣進行操作,不然正常的 SSH 連線只能夠透過 CLI ( Command-Line Interface ) 進行操作,找個檔案要找好久,詳細的內容請自行爬文。
📷
開啟 WinSCP,主機名稱是你的 GCP 虛擬機「外部 IP」,Port號預設都是 22,使用者名稱是前面在設定 ssh 金鑰時的使用者名稱,密碼部分先不填直接點選進階。
📷
在身分核對這邊選擇私鑰檔案,找到剛剛儲存的 Save private key ,這個就是你的密碼了,點擊確定,然後登入。
📷
成功連線後,就可以在右邊的區塊檢視這台虛擬機的所有文件了,點擊左上的「於 PuTTY 開啟工作階段」開啟 CLI 連線 ( 對,下指令還是要回來命令介面 )。
📷
左邊是使用瀏覽器開啟的畫面,右邊是透過 PuTTY 開啟的畫面,目的一樣,擇優進行即可。

二、安裝 Apache + MySQL + PHP + phpmyadmin

LAMP 是指 Linux + Apache +MySQL + PHP。
當然其中的 Apache 可以更換成 Nginx,MySQL 可以更換成 MariaDB。
有沒有比較好或是其他區別,在這邊不做討論。
這邊的部屬環境是:
Ubuntu 20.04 + Apache2 +MySQL 8.0 + PHP 7.4 + phpmyadmin
首先,更新一下套件
$ sudo apt update
$ sudo apt upgrade -y
安裝文字編輯器 vim
$ sudo apt install vim -y
※小技巧:
  1. 使用 apt 指令安裝時,輸入 -y 可以自動略過安裝確認。
  2. vim在這邊只會使用到「 按 i ,進入編輯模式,退出編輯模式按 ESC 鍵」、在非編輯模式「按 : ,輸入q是退出,輸入w是寫入,輸入wq是寫入後退出 」,所以使用vim就是:按 i → 開始編輯 → 按 ESC → :wq
  3. PuTTY預設的「貼上」是按滑鼠左鍵。
安裝 apache2
$ sudo apt install apache2 -y
安裝 MySQL
$ sudo apt install mysql-server -y
安裝 PHP 及其他套件
$ sudo apt install php libapache2-mod-php php-mysql php-mbstring -y
安裝 phpmyadmin
$ sudo apt-get install phpmyadmin -y
📷
安裝過程會出現web伺服器選擇,在這裡選擇 Apache2
📷
安裝完成時會詢問要不要設定資料庫的登入密碼,在這邊直接做設定,我在這邊輸入 !QAZ2wsx
將 phpmyadmin 資料夾與 網頁安裝的資料夾做連結
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/
重新啟動伺服器與資料庫
$ sudo service apache2 restart
$ sudo service mysql restart
📷輸入 ip 可以進行 http 連線
📷http://(你的ip)/phpmyadmin
理論上到這邊,就可以透過外部IP連接到自己的網頁伺服器了,也可以使用 phpmyadmin 進行資料庫管理。
但由於我也不明白為什麼的原因,預設的資料庫 root 帳號不能直接登入,所以還需要再進行一下設定。
修改資料庫root設定
$ sudo mysql -u root -p
輸入剛剛安裝 phpmyadmin 時設定的密碼,登入mysql
以下為資料庫語法,不分大小寫,在這邊大寫是因為我是從大神那邊抄來的。
輸入
SELECT user,plugin,host FROM mysql.user WHERE user = 'root';
# 查看一下,會看到auth_socket屬性
📷
更改 root 的密碼,輸入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your pass';
# your pass 改成你要登入phpmyadmin root 的密碼
📷
看到這裡表示成功。
進行存檔,輸入
FLUSH PRIVILEGES;
退出資料庫,輸入
exit
再重啟伺服器與資料庫
$ sudo service apache2 restart
$ sudo service mysql restart
就可以使用 root 登入 phpmyadmin 了
📷
以上就是環境架設的部份,
下一篇文章將為介紹如何安裝 Worepress 以及一些相關設定。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文介紹了在中國大陸申辦手機號和銀聯卡所需的準備事項,包括臺胞證、中國大陸住址、實名制手機、臺灣住址等,並分享了申辦的經驗。
Thumbnail
經常在社群上看到有人詢問為什麼我的「網站名稱」是網址?要如何修改出現在搜尋結果頁上的網站名稱?因此,本篇文章將解釋什麼是網站名稱、如何撰寫及新增網站名稱。
Thumbnail
👨‍💻簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部與內部的全球 IP 。 前提條件 Google Cloud Platform (GCP) 帳號: 確保有一個有效的 GCP 帳號。 安裝Terraform: 還沒安裝可
Thumbnail
👨‍💻 簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部和內部的區域 IP 。
Thumbnail
👨‍💻簡介 terraform在每次執行terraform plan或terraform apply時,是如何知道應該要管理哪些資源? 其實就是透過在每次執行terraform時,將建立或要變更的資源都記錄在terraform.state這份狀態檔,預設檔案使用JSON格式。
在Windows 10中,有一些字是無法打出來。 目前Windows 10已經將全字庫整合於輸入法內。只需簡單步驟即可開啟。
Thumbnail
在資訊泛濫,而且真確性愈來愈模糊的環境下,如何加強自己對資訊的判讀力,將會成為重要的命題……
Thumbnail
我們這一個月在美國國家公園悠遊的數位遊牧生活,共開了約4700公里,去了4個州,11個國家公園或國家遺跡保護區,每天晚上都紮營(除了一晚)。每天行程滿滿,如何讓旅行和工作彼此安排的時間達到和諧的節奏呢?
Thumbnail
同步教學除了要能和學生共享投影片畫面之外,在教生字或是做互動時也常常需要用到白板,這時候可以考慮使用共享白板Jamboard。所以這次要和老師們分享在課堂上可以怎麼使用Jamboard裡的功能!
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文介紹了在中國大陸申辦手機號和銀聯卡所需的準備事項,包括臺胞證、中國大陸住址、實名制手機、臺灣住址等,並分享了申辦的經驗。
Thumbnail
經常在社群上看到有人詢問為什麼我的「網站名稱」是網址?要如何修改出現在搜尋結果頁上的網站名稱?因此,本篇文章將解釋什麼是網站名稱、如何撰寫及新增網站名稱。
Thumbnail
👨‍💻簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部與內部的全球 IP 。 前提條件 Google Cloud Platform (GCP) 帳號: 確保有一個有效的 GCP 帳號。 安裝Terraform: 還沒安裝可
Thumbnail
👨‍💻 簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部和內部的區域 IP 。
Thumbnail
👨‍💻簡介 terraform在每次執行terraform plan或terraform apply時,是如何知道應該要管理哪些資源? 其實就是透過在每次執行terraform時,將建立或要變更的資源都記錄在terraform.state這份狀態檔,預設檔案使用JSON格式。
在Windows 10中,有一些字是無法打出來。 目前Windows 10已經將全字庫整合於輸入法內。只需簡單步驟即可開啟。
Thumbnail
在資訊泛濫,而且真確性愈來愈模糊的環境下,如何加強自己對資訊的判讀力,將會成為重要的命題……
Thumbnail
我們這一個月在美國國家公園悠遊的數位遊牧生活,共開了約4700公里,去了4個州,11個國家公園或國家遺跡保護區,每天晚上都紮營(除了一晚)。每天行程滿滿,如何讓旅行和工作彼此安排的時間達到和諧的節奏呢?
Thumbnail
同步教學除了要能和學生共享投影片畫面之外,在教生字或是做互動時也常常需要用到白板,這時候可以考慮使用共享白板Jamboard。所以這次要和老師們分享在課堂上可以怎麼使用Jamboard裡的功能!