上篇傳送門 : AWS 遠端主機部署與連線
完成上篇的部署後,這篇進行的是網域名申請以及網站上傳遠端伺服器,同樣也參考了以下文章,讓我順利的進行 :
[week 14] 網站部署 - 設定 AWS EC2 遠端主機 + Ubuntu LAMP 環境 + phpMyAdmin。
網域申請
參考上篇文章,知道在主機部署與將網站上傳伺服器之間,要先申請網域名稱。
來到 gandi,按照申請流程註冊登入並申請網域名稱結帳之後,就可以開始設定了。
一開始請到域名啟用的地方,按下自己的網域名稱連結(圖中被擦掉內容的紅色方塊)
接著選擇「區域檔紀錄」,在 A 的區塊將 IP 改成遠端主機的 IPv4 的 IP位置,也就是遠端部署中可以使用 ssh 連線的 IP 位置 :
完成後如果瀏覽器能夠開啟你的網域名稱,出現 apache2 Ubuntu 的頁面,就是成功了。
權限更改
目前的權限還無法讓我們新增檔案,重新用 ssh 連線上遠端主機後:
- 移動到根目錄指定資料夾
cd var/www/html
- 新增檔案發現跳出權限不夠的錯誤,因此我們要來更改權限
$ sudo chown ubuntu /var/www/html
- 完成以後用
ls -al
檢視檔案,可以看到這個資料夾的權限從root變成Ubuntu
這樣就完成權限的重新設定,可以新增檔案了
上傳靜態 / 動態網站
這邊分成兩個部分,一個是將網站上傳遠端主機,另外一個是設定 mySQL 資料庫。
mySQL 資料庫檔案匯入 / 匯出
一直想要使用這個功能,不想要再土炮手動建立新資料夾,實際操作以後發現很簡單。
在想要匯出的資料表選擇匯出,新模板名稱是接下來要匯入的資料表的名稱 :
接下來到需要匯入的資料庫,選擇匯入,一按匯入就會跳出警告,按「略過」也不妨礙執行,另外也可以參考錯誤訊息做修正。
搜尋錯誤訊息發現是 php 7.2版中,如果資料庫筆數為 0 ,會噴出錯誤,而錯誤訊息上也標示了可修正的檔案。
修正方法 :
- ssh 連線遠端主機
$ sudo vim /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
進入指定檔案後循錯誤訊息找到第 551 行
找到程式碼if ($options != null && count ($options) > 0) { ... }
將程式碼中的
count ($options) > 0
刪除後存檔
以上匯入匯出的時候就沒有再跳出錯誤訊息,接著就可以上傳剛剛匯出的檔案,順利匯入 :
就完成資料庫內容的轉移,讓動態網站資料也移到遠端主機上的資料庫了。
上傳網站資料
我使用的是 FileZilla,以下是我進行的方式 :
使用 FileZilla 連線到遠端主機
需要 key-in 的資料有:
(1). 主機 : 請輸入遠端主機的 IPv4 Public IP
(2). 使用者 : 請輸入 ubuntu
(3). 金鑰檔案 : 為申請遠端主機的金鑰檔案進到 /var/www/html 的目錄後,可以依照自己的不同專案設定資料夾,並把檔案拖曳到資料夾中
在瀏覽器上使用 你的網域名稱 + 資料夾名稱 + 網頁檔名,如果有看到網頁就是成功了!
動態網站的話,要記得在
conn.php
等你自己的連線檔案中,連線到新的遠端資料庫, SQL 也記得是遠端主機上的 SQL 資料庫。
以上,就是人生首次架構遠端主機、連線及上傳網站的過程,感謝各篇參考的文章提供莫大的幫助,接著也會整理一下過程中的疑惑與資料。