如何在 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
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
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
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
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裡的功能!