本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。
GCP(Google Cloud Platform)是 Google 提供的雲端平台服務,包含了運算、資料分析(如 BigQuery、Cloud Dataflow)、儲存以及API管理、機器學習等眾多產品。(
懶人包 )
使用 GCP 等大公司的線上虛擬機進行架設主要的目的是練習,架設一個練習用的環境,進行許多的功能測試,或是練習自己的技巧,當然最佳的架設 WordPress 方式還是使用各大主機商的託管服務比較好,AWS、Azure、GCP本身也都有提供 WordPress 的一鍵架設( 雖然費用很貴 )。
由於 Roy 的公司官網是架設在自家的NUC小主機上,為了學習該要如何掌控這個官網只好走本機安裝的路線,也因此學到了許多技巧,網路上也有許多大神的文章分享,這邊將整理自己實測可行且能夠重複執行的技巧分享給大家。
本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。
首先需要準備的軟體有
- WinSCP 下載連結 ( 圖形化ssh軟體 )
- Putty 下載連結 ( ssh軟體,安裝過程記得要安裝PuTTYgen )
- 註冊域名,練習的話可用 Freenom ( 教學文 )
- 註冊 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
※小技巧:
- 使用 apt 指令安裝時,輸入 -y 可以自動略過安裝確認。
- vim在這邊只會使用到「 按 i ,進入編輯模式,退出編輯模式按 ESC 鍵」、在非編輯模式「按 : ,輸入q是退出,輸入w是寫入,輸入wq是寫入後退出 」,所以使用vim就是:按 i → 開始編輯 → 按 ESC → :wq
- 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
📷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 以及一些相關設定。