在GCP(Google Cloud Platform)上透過FTP上傳檔案

在前一篇說明了如何在GCP上架設wordpress,這篇要說明如何透過FTP的方式進行檔案上傳。參考了許多網路上的文章,其實把檔案傳到GCP上不是那麼簡單。

由於GOOGLE需要透過金鑰的方式才可以連線,且目前無法直接以root的帳號進行連線,所以在其他網站看到的取得root金鑰再連線的方式已經GG惹。

參考GCP的說明文件

那只能透過其他方式,我目前想到的是利用安裝「Google Cloud SDK」的方式,透過電腦的帳號上傳檔案到GCP之後,再sudo成root把檔案copy到指定的目錄下。雖然搞工,但這是我目前測試成功的方式。

安裝Google Cloud SDK

網址:https://cloud.google.com/sdk/

1. 到下載元件網址下載Google Cloud SDK套件。

2. 執行下載的程式進行安裝,基本上就是下一步、我同意 等方式進行點選,安裝過程需要一點時間。

3. 安裝完成後,點選finish。

4. 出現初始化視窗,請輸入「Y」之後enter。

註:若無出現此視窗,直接執行桌面上的「Google Cloud SDK Shell」,再輸入「gcloud init」指令即可。

5. 此時會開始進行進行Gmail帳號驗證程序,請輸入使用GCP的Google帳號進行認證。

6. 出現授權視窗,請點選「允許」進行授權。

7. 出現以下畫面代表初始化完成。

以上只是把 Google Cloud SDK這個tool安裝完成。

8. 接下來要回到SDK的視窗,選擇你已經建立的GCP專案名稱(非執行個體)後按enter。

9. 出現是否要設定GCE,請輸入「Y」之後按enter。

10. 選擇執行個體當初設定的區域(zone)。

註:可以參考GCE內的設定。

11. 回到Cloud SDK的目錄下代表已設定完成,接下來要設定連線。

12. 輸入「gcloud compute ssh example-instance」指令,此時會以電腦的username進行GCP的連線。註:example-instance指的是執行個體名稱。

13. 此時系統會問是否繼續,輸入「Y」之後enter即可。

14. 設定完成後,即會開啟putty連線視窗,最上方即會顯示目前的使用者名稱。

15. 輸入「sudo su」指令即可切換成root帳號。

如何透過FTP軟體進行連線?以FileZilla的方式為例。

File Zilla下載

https://filezilla-project.org

16. 下載並安裝 FileZilla Client軟體後,開啟「站台管理員」。留意以下幾個地方的資料:
❶:輸入連線主機IP。
❷:協定選擇「SFTP」。
❸:登入型式選擇「金鑰檔案」。
❹:使用者輸入本機使用者名稱。
❺:選擇金鑰檔案位置(如下說明)。
❻:輸入完成後點選「連線」即可。

註:金鑰位置在第14.步驟設定完成後,在C:\USER\使用者帳號\.ssh 資料夾內即產生了金鑰。選擇「google_compute_engine.ppk」這個檔案即是。

17. 連線成功後,在遠端的資料夾預設會在 \home\使用者名稱 目錄內,而裡面有個捷徑「htdocs」即是這個執行個體的web預設路徑。

因為我這個wordpress是透過bitnami安裝的,所以預設路徑會在 /opt/bitnami/apache2/htdocs 之下。(實際上bitnami的wordpress設定檔是在/opt/bitnami/apps/wordpress/conf 目錄之中。)

只是很怪的是,目前透過這個方式只能把檔案上傳到自己的 /home/使用者名稱 的目錄下,若直接在htdocs的目錄下進行上傳,則會出現沒有權限的狀況。

這也是之前提到為什麼要sudo su的原因,先把檔案上傳到 /home/使用者名稱 之後,再透過root帳號執行cp或是mv指令把檔案搬到指定目錄下。

有什麼情況需要把檔案上傳到GCP呢?有,例如要上傳憑證檔的時候就需要用到了。

 

本篇文章備份