2023年伺服器搬家備忘錄

時間一如以往過得超快,轉眼間網站空間租用伺服器又要到期了。
原租用處「SiteGround應該是不錯,畢竟網站幾乎沒有在更新,租用三年下來只是為了讓網站能夠連線,所以沒有多少使用體驗…
由於傳聞SiteGround結束亞洲市場的營運,雖然仍有收到租用續約的郵件,不過就乾脆更換租用空間再次搬家來節省開銷隨便整理一下網站內容!
網路搜尋了一下發現一家叫做「Hostinger」的風評還不錯,主要是划算的價格以及不錯的瀏覽速度有高性價比。本站雖然是個人興趣小網站,但仍選擇了中上的「Business WordPress」方案且簽了四年約。雖然此回搬家多虧了前篇備忘錄很快地完成了,但依然因為些許知識不足導致網站無法順利連結。故本篇的重點摘要仍為「伺服器手動搬家相關作業與設定備忘錄」,以備未來再搬到別處去時可以參考此回的搬家流程。

選擇適合需求的伺服器與方案

本次選擇「Hostinger」每個月3.99美元的「Business WordPress」方案之主要考量為,與前次租用的空間相比價格接近但流量和資料量均大幅升級。連線速度參考網路分享的資訊應該還可以,它們也提供30天內退款保證。比較之後自己選擇的方案看來相當好用了,所以就大膽購買了此中上方案並開始進行搬家作業。

Hostinger之Wordpress主機方案▲〈Hostinger之Wordpress主機方案〉

Hostinger提供了一般空間「Web Hosting」以及WordPress空間「WordPress Hosting」這兩項似有差異的服務項目,但比較過方案的規格說明後看來只是後者多了一個主機性能更佳的「WordPress Pro」方案。基本上一般空間的「Business Web Hosting」方案與WordPress空間的「Business WordPress」應該就是一樣的東西(價格也相同),由於自己使用WordPress所以就選擇後者感覺比較名符其實~

實際搬家流程

伺服器搬家的主要流程仍為「資料備份」→「整理與修改」→「資料還原」→「設定及檢查」。事先確認好新租用空間能否直接使用PHPMYADMIN的功能以利資料庫的備份與還原。

資料備份

首先將現有的WordPress更新到最新版本後,保險起見關閉與原伺服器Siteground有關的快取加速外掛程式。接下來優先備份資料庫,登入原先租用的SiteGround後台管理介面,進入選單「Site」中的「MySQL」頁面直接選擇PHPMYADMIN標籤並點選連結按鈕進入資料庫。

SiteGround後台之資料庫管理頁面▲〈SiteGround後台之資料庫管理頁面〉

利用PHPMYADMIN介面可以自訂備份的選項,進入管理頁面後首先選擇WordPress的資料庫(就只有它一個),於右上方工具列點選「匯出」標籤。如果資料庫的容量不大可以直接使用「快速」選項執行備份下載。但如果資料庫較大,可先選擇「自訂」選項後,於下方展開的選單中勾選「zip 壓縮」以壓縮檔方式執行備份下載。

PHPMYADMIN之資料庫匯出功能▲〈PHPMYADMIN之資料庫匯出功能〉

至於一般的檔案備份,回到SiteGround的後台管理介面,進入選單「Site」中的「File Manager」頁面瀏覽找到「public_html」資料夾。在備份之前可以先將不想要備份的檔案從伺服器上刪除,準備好了就點選三個垂直點點的彈出選單選擇「Archive」。為壓縮檔取名後開始進行網站資料的壓縮作業,完畢後之後再下載備份壓縮檔。

SiteGround後台之檔案管理頁面▲〈SiteGround後台之檔案管理頁面〉

整理與修改

下載回來的一大包全站檔案壓縮檔,再次確認是否需要封存或是刪除無用的檔案。這一次則是封存了分站中的古老數位教材檔案,部份原租用空間產生的log檔案則是直接刪除了。

備份回來的資料庫檔案(sql)之後要上傳至新的租用空間時需要新的資料庫資訊,此外WordPress的config檔案中的資料庫與使用者資訊也需要替換成新的。此時先連線至新的租用空間利用後台管理介面全新安裝WordPress,安裝時只需注意安裝路徑為根目錄,安裝完畢後於後台確認新的資料庫與使用者資訊後,再替換掉原先前備份檔案中的舊資訊。

資料還原

經過整理與修改之後,首先還原資料庫。連線至Hostinger的後台管理介面,進入選單「Database」中的「phpMyAdmin」頁面點選連結按鈕進入資料庫。找到先前全新安裝的WordPress資料庫後刪除原有的全部資料表,之後於右上方工具列點選「匯入」標籤。將先前已替換更新資料庫資訊的資料庫檔案(sql)壓縮成zip檔案後,再利用該匯入功能上傳。順利匯入後資料庫的還原作業即完成。至於一般檔案的部份利用後台的「File Manager」或是以FTP的方式上傳。由於先前已全新安裝過WordPress,所需的系統檔案已經安裝在新的租用空間當中了。這裡只需將「wp-content」資料夾中的「plugins、themes、uploads」等內容上傳即可。不過最重要的config檔案需要上傳至根目錄覆蓋掉原有的檔案,另外也在根目錄的「.htaccess」檔案視需要將新空間即有的內容與舊空間的合併修改後再上傳覆蓋。

設定及檢查

搬新家後伺服器IP位址需要更換成新的,這樣網域名稱才能夠連線到新的租用空間。連線至前次申請的網路加速分流服務的「Cloudflare」,於DNS設定中將「A record」的網域值(@)更換為新租用空間的IP。另外由於自己安裝的是WordPress Multisite(多站台),所以相關設定「*」的IP位址也需要一併更換。DNS轉換作業多半需要大約24小時的廣播時間,但由於個人心急所以幾分鐘後就開始進行測試了。

CloudFlare後台之DNS管理頁面▲〈Cloudflare後台之DNS管理頁面〉

此時發現到一個新問題,為了讓網站以「SSL安全連線」方式提供瀏覽,需要於新租用的空間安裝好SSL認証(Let’s Encrypt)。進入Hostinger後台選單「Security」中的「SSL」頁面進行安裝後持續回報安裝失敗。向Hostinger的客服人員尋求協助後,了解到由於Name servers是利用Cloudflare的服務,它的預設值會遮蔽新租用空間的真實IP位置,如此便導致SSL認証找不到路安裝失敗。所以需要先將Cloudflare的Proxy status更改為「DNS only」,再回到新租用空間的後台重新安裝SSL認証。

Cloudflare關閉遮蔽IP設定▲〈Cloudflare關閉遮蔽IP設定〉

至於Cloudflare的「SSL/TLS」的設定則保留原狀,「SSL/TLS」的頁籤設定區中維持SSL設定為「Full (strict)」。

Cloudflare的「SSL/TLS」的頁籤設定▲〈Cloudflare的「SSL/TLS」的頁籤設定〉

根據Hostinger的WordPress Multisite(多站台)的說明,需於後台設定Subdomain(子網域)。進入選單「Domains」中的「Subdomains」頁面,輸入子網域名稱並勾選「Custom folder for subdomain」後再勾選「Use public_html directory」,最後按下建立按鈕即可。如此一來輸入子網域的網址後,會連到根目錄由WordPress自動導向至目標的網站。

Hostinger的「Subdomains」設定▲〈Hostinger的「Subdomains」設定〉

接下來要確認所有網域都有SSL認証才能正常瀏覽。回到後台選單「Security」中的「SSL」頁面,確認並視情況安裝SSL認証檢查是否均顯示Active以代表正常運作。

Hostinger的「SSL」設定▲〈Hostinger的「SSL」設定〉

設定完畢後如果DNS轉換作業也確實廣播完畢的話,連線至各網站檢查運作情況。確認各網站均能正常瀏覽後,再逐一確認外掛程式和佈景主題有沒有出問題。

完成上述所有設定的話搬家作業總算是完成了,這一次碰到的SSL認証問題讓架站的知識增加了!整體來說瀏覽速度在體感上有顯著地提升,客服人員的應對與處理問題的速度也相當理想。

附帶一提,圖片檔案現在都放置於imgur當中,除了方便整理也為了之後可能的搬家流程省下備份的時間。不過最重要的應該是去思考如何好好運用網站吧…