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

更新於 發佈於 閱讀時間約 10 分鐘

原文:迷途小資男

本篇將會記錄如何在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 金鑰,或稱公開安全殼層金鑰。

raw-image

點選 Generate 鍵,生成金鑰,由於一些我也不明白為什麼的原因,點擊 Generate 後滑鼠要在畫面上一直動,不然程式會卡住。


raw-image

在 Key comment 可以輸入自己想要的登入帳號,在這邊我使用的是 roy。

點擊 Save private key 將這個 .ppk 檔另存,

將上方那一大串不明文字複製起來,我們要準備去創建 GCP 的虛擬機了。



raw-image

登入主控台,選擇 Compute Engine > VM執行個體 > 點擊 建立執行個體。

raw-image

GPC 可以在美國區域內每月 1 個非先占 f1-micro 免費使用( 說明文件 ),但是 Roy 這邊在經過多次的測試後發現,由於我也無法明白的原理,使用免費等級的機器類型,會無法安裝 MySQL 。

所以這邊就使用 Google 給的 $300 測試額度,建立一個等級高一點的虛擬機,這邊我通常地區會選台灣,系列會選 E2,類型會設定在 2 vCPU|2 GB記憶體。



raw-image

在開機磁碟這邊點擊變更,選擇Ubuntu系統,版本我通常選擇 Ubuntu 20.04 LTS,磁碟類型我不曉得哪個比較好,但是說有寫標準永久磁碟花費最低廉,那我就選這個,大小請設定在 20 GB以上。



raw-image

防火牆指的是 GCP 的防火牆,不是 Ubuntu 系統的防火牆,這邊要打開 80 跟 443 port,不然就無法透過外部連線進去了。

請將剛才在 PuTTYgen 複製的 一長串不明文字貼上來 ssh 這邊,這樣就可以建立一個 shh 連線的帳號了。



不想要使用 putty 連線也沒關係,直接點選這裡的「在瀏覽器視窗中開啟」,也是一樣可以連線到你的虛擬機的。

raw-image

WinSCP是圖形化的 ssh 連線軟體,簡單的理解就是透過 ssh 協定,可以連線到遠端主機並且像Windows的檔案管理員一樣進行操作,不然正常的 SSH 連線只能夠透過 CLI ( Command-Line Interface ) 進行操作,找個檔案要找好久,詳細的內容請自行爬文。

raw-image

開啟 WinSCP,主機名稱是你的 GCP 虛擬機「外部 IP」,Port號預設都是 22,使用者名稱是前面在設定 ssh 金鑰時的使用者名稱,密碼部分先不填直接點選進階。

raw-image

在身分核對這邊選擇私鑰檔案,找到剛剛儲存的 Save private key ,這個就是你的密碼了,點擊確定,然後登入。

raw-image

成功連線後,就可以在右邊的區塊檢視這台虛擬機的所有文件了,點擊左上的「於 PuTTY 開啟工作階段」開啟 CLI 連線 ( 對,下指令還是要回來命令介面 )。

raw-image

左邊是使用瀏覽器開啟的畫面,右邊是透過 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
raw-image

安裝過程會出現web伺服器選擇,在這裡選擇 Apache2

raw-image

安裝完成時會詢問要不要設定資料庫的登入密碼,在這邊直接做設定,我在這邊輸入 !QAZ2wsx

將 phpmyadmin 資料夾與 網頁安裝的資料夾做連結

$ sudo ln -s /usr/share/phpmyadmin /var/www/html/


重新啟動伺服器與資料庫

$ sudo service apache2 restart
$ sudo service mysql restart
raw-image
raw-image

理論上到這邊,就可以透過外部IP連接到自己的網頁伺服器了,也可以使用 phpmyadmin 進行資料庫管理。

但由於我也不明白為什麼的原因,預設的資料庫 root 帳號不能直接登入,所以還需要再進行一下設定。



修改資料庫root設定

$ sudo mysql -u root -p

輸入剛剛安裝 phpmyadmin 時設定的密碼,登入mysql

以下為資料庫語法,不分大小寫,在這邊大寫是因為我是從大神那邊抄來的。

輸入

SELECT user,plugin,host FROM mysql.user WHERE user = 'root';

# 查看一下,會看到auth_socket屬性

raw-image

更改 root 的密碼,輸入

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your pass';

# your pass 改成你要登入phpmyadmin root 的密碼

raw-image

看到這裡表示成功。

進行存檔,輸入

FLUSH PRIVILEGES;

退出資料庫,輸入

exit

再重啟伺服器與資料庫

$ sudo service apache2 restart
$ sudo service mysql restart

就可以使用 root 登入 phpmyadmin 了

raw-image

以上就是環境架設的部份,

下一篇文章將為介紹如何安裝 Worepress 以及一些相關設定。



留言
avatar-img
留言分享你的想法!
avatar-img
迷途小資男的沙龍
1會員
4內容數
2022/01/08
原文:迷途小資男 接下來,就是要使用 MobaXterm 來 SSH 連線到 VM 主機。 連線的方式如上,若是 DNS 可以解析到 域名,那就在 Remote Host 打上域名,若是還不能夠成功解析,那就先打上公用 IP(外部 IP) 成功的話就設看到這個畫面。 BUT! 編輯設定檔
Thumbnail
2022/01/08
原文:迷途小資男 接下來,就是要使用 MobaXterm 來 SSH 連線到 VM 主機。 連線的方式如上,若是 DNS 可以解析到 域名,那就在 Remote Host 打上域名,若是還不能夠成功解析,那就先打上公用 IP(外部 IP) 成功的話就設看到這個畫面。 BUT! 編輯設定檔
Thumbnail
2022/01/08
今天主要的內容,將會使用 GCP 的主機,設立一個免費額度的 VM 主機,並且簡單的調教他,主要的目標是如果服務死掉時,至少還可以連線到 VM 主機,將該服務重啟或關閉,而不是服務死掉, VM 主機也跟著死掉了。
Thumbnail
2022/01/08
今天主要的內容,將會使用 GCP 的主機,設立一個免費額度的 VM 主機,並且簡單的調教他,主要的目標是如果服務死掉時,至少還可以連線到 VM 主機,將該服務重啟或關閉,而不是服務死掉, VM 主機也跟著死掉了。
Thumbnail
2022/01/03
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
2022/01/03
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
「我只有 Windows 電腦也可以操作 Linux 指令嗎?」 「想試試看其他作業系統,需要移除作業系統再重灌嗎?」 「想了解虛擬化,快來試試看 VirtualBox」 今天就來實作 VirtualBox 安裝 Linux ubuntu 作業系統吧!
Thumbnail
「我只有 Windows 電腦也可以操作 Linux 指令嗎?」 「想試試看其他作業系統,需要移除作業系統再重灌嗎?」 「想了解虛擬化,快來試試看 VirtualBox」 今天就來實作 VirtualBox 安裝 Linux ubuntu 作業系統吧!
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
先說,我並非專業人士~ 只是分享建立的過程與經驗,不要問我問題~ 我可能、應該無法解答,哈哈哈。 另,這只是一份 草稿? 操作簡述~ 容我不很詳細的抓畫面了! 我之後 "應該" 會拍影片說明整個過程,真的有拍的話,再補上影片網址。
Thumbnail
服務上雲後有時會需要固定一組IP主動對外發出連線,這時要考慮安全性與獨立性的問題,在爬文後發現了GCP推出的Cloud NAT,本篇文章簡單介紹一下這個工具的使用。 什麼是Cloud NAT GCP Cloud NAT是GCP上的一種服務,它提供了一個管理和部署Google Cloud上的NAT(N
Thumbnail
服務上雲後有時會需要固定一組IP主動對外發出連線,這時要考慮安全性與獨立性的問題,在爬文後發現了GCP推出的Cloud NAT,本篇文章簡單介紹一下這個工具的使用。 什麼是Cloud NAT GCP Cloud NAT是GCP上的一種服務,它提供了一個管理和部署Google Cloud上的NAT(N
Thumbnail
架設部落格或建立個人網站已經變成經營個人品牌必備的功夫。所以不管是自己要練技術、將來想賣自己的產品、參與聯盟行銷,又或者就只是單純搞個網站紀錄自己的人生軌跡...,都離不開架站話題。
Thumbnail
架設部落格或建立個人網站已經變成經營個人品牌必備的功夫。所以不管是自己要練技術、將來想賣自己的產品、參與聯盟行銷,又或者就只是單純搞個網站紀錄自己的人生軌跡...,都離不開架站話題。
Thumbnail
今天主要的內容,將會使用 GCP 的主機,設立一個免費額度的 VM 主機,並且簡單的調教他,主要的目標是如果服務死掉時,至少還可以連線到 VM 主機,將該服務重啟或關閉,而不是服務死掉, VM 主機也跟著死掉了。
Thumbnail
今天主要的內容,將會使用 GCP 的主機,設立一個免費額度的 VM 主機,並且簡單的調教他,主要的目標是如果服務死掉時,至少還可以連線到 VM 主機,將該服務重啟或關閉,而不是服務死掉, VM 主機也跟著死掉了。
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
承接上篇文章 架設好環境後我們要來安裝 WordPress 了 其實安裝 WordPress 非常簡單,但是其中要注意的小細節太多了,若是沒有設定好,接下來在做各種激烈操作的時候就會有一堆問題。 文章目錄: 首先,建立一個專門給 WordPress 的資料庫,開啟 phpmyadmin 解壓縮
Thumbnail
本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。 本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。 首先需要準備的軟體有 有沒有比較好或是其他區別,在這邊不做討論。
Thumbnail
本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。 本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。 首先需要準備的軟體有 有沒有比較好或是其他區別,在這邊不做討論。
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
首先要先去Google Cloud Platform申請一個帳號,愉快的點下啟用
Thumbnail
首先要先去Google Cloud Platform申請一個帳號,愉快的點下啟用
Thumbnail
首先,使用GCP建立VM: Compute Engine -> VM執行個體 設定server配置: 區域, cpu, memory, 開機磁碟, 選擇作業系統, 防火牆等等。 接著編輯VM,設定固定外部IP: 因每當VM重啟,IP就會變動,因此要設定固定IP。 將外部IP從臨時改為建立I
Thumbnail
首先,使用GCP建立VM: Compute Engine -> VM執行個體 設定server配置: 區域, cpu, memory, 開機磁碟, 選擇作業系統, 防火牆等等。 接著編輯VM,設定固定外部IP: 因每當VM重啟,IP就會變動,因此要設定固定IP。 將外部IP從臨時改為建立I
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News