在前一篇說明了如何在GCP上架設wordpress,這篇要說明如何透過FTP的方式進行檔案上傳。參考了許多網路上的文章,其實把檔案傳到GCP上不是那麼簡單。
由於GOOGLE需要透過金鑰的方式才可以連線,且目前無法直接以root的帳號進行連線,所以在其他網站看到的取得root金鑰再連線的方式已經GG惹。
參考GCP的說明文件:
那只能透過其他方式,我目前想到的是利用安裝「Google Cloud SDK」的方式,透過電腦的帳號上傳檔案到GCP之後,再sudo成root把檔案copy到指定的目錄下。雖然搞工,但這是我目前測試成功的方式。
安裝Google Cloud 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下載
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呢?有,例如要上傳憑證檔的時候就需要用到了。
本篇文章備份
請問一下大大,
這個config檔是指檔名還是副檔名爲config呢?
我本來想說指的是不是由外部ip預設的/var/www/html下的index.html裡的提示
大大請問一下,
這個config檔是指檔名還是副檔名爲config呢?
我本來想說指的是不是由外部ip預設的/var/www/html下的index.html裡的提示
/etc/apache2/
|– apache2.conf
| `– ports.conf
|– mods-enabled
| |– *.load
| `– *.conf
|– conf-enabled
| `– *.conf
|– sites-enabled
| `– *.conf
可是只有/etc/apache2下的apche2.conf跟ports.conf可以被開啓
請問大大是指這二個檔案嗎?
但是小弟不知道要改哪裡說,拍謝,小弟新手>”<
試著輸入「sudo su」取得最高權限試試,裡面的config檔應該就可以被開啟了。
然後我有爬文看到說,新版的php最好連線方式不要用mysql_connect,要用mysqli_connect,code改掉之後,會先看到網頁一直在跑,然後就出現了我在php裡設定的die()訊息,請問這樣是不是我語法有問題?
對了,我說明一下我的環境@@
我是用Cloud launcher安裝LAMP Stack,現在可以透過deployment manager進入到外部IP所連結的預設網頁和它預設的phpmyadmin介面,然後訪問/var/www/html/test/index.php的檔案也OK,現在也可以用FileZilla透過SFTP連線到主機。
現在問題卡在要用我從SFTP上傳到主機再用root權限mv到/var/www/html/test的PHP檔案中,連線到它預設的資料庫中有問題,感恩>”<。
500錯代表某些設定有問題
連資料庫使用外部IP是OK的
看看某個Config檔有無設定錯誤
大大,不好意思,請問我再連接資料庫時,會出現HTTP 錯誤 500
請問是什麼意思呢?我連資料庫的IP是輸入外部IP,這樣對嗎?
好了好了,感謝^_^
請問上傳到/home/使用者名稱後,再透過mv指令把檔案搬到指定目錄下。
這裡的指定目錄是指/var/www/html下嗎?(因爲預設的外部ip是執行這個目錄下的index.html)
以bitnami安裝的情況下,憑證檔的目錄是在「/opt/bitnami/apache2/conf/」這個目錄中
所以,就「上傳憑證」這件事而言,指定目錄就是「/opt/bitnami/apache2/conf/」。
可以參考這篇文章 https://sammy197.tw/4076。
請問用filezilla 完成連線後,資料夾沒有htdocs該怎麼解決呢,只有一個.ssh資料夾。
點選資料夾內的「…」回到上一層試試。
因為我有先透過Bitnami安裝wordpress,所以它才會在裡面有htdocs的捷徑,如果沒有的話,透過回到上一層(…)去找「opt」下的目錄,如文章內所述的路徑。