- 分類: 架站手記
《華燈初上》遷移手記
緣起
2011 年阿寶在撰寫《使用Joomla! 1.7 架站的13 堂課》時為自己與朋友購買了美國著名虛擬主機商 B 公司的服務,在該公司運作的《華燈初上》在讀取速度跟反應上都不錯。
到了 2013 年初,網站有時會發生無法讀取的情況,加上原本的租約即將到期的關係,阿寶決定尋覓新的網站主機空間。
遷移時需要注意的部分不少,網路上遷移 Joomla! 網站的中文文章並不多,想把這次遷移作業中的大小事情記錄下來,讓網友們多個參考資料。
遷移作業中會更動的資料
在進行之前阿寶整理了過程中會更動的資料或項目,列舉如下:
- NameServer 資料
- 電子郵件╱FTP 資訊╱MySQL資料庫資訊
- Joomla! 網站設定檔:configuration.php
- 遷移過程中產生的資料,例如:留言板、討論區、回應內容等
遷移前的準備:公告周知
網站搬家前要做的第一件事,就是通知大家:我要搬家了!
在搬遷過程中網站所產生的資料,像是留言板留言、討論區主題、文章回應等,因為是在全站備份之後才產生的關係,在搬遷過後可能會找不到,所以請務必通知有使用網站服務的網友們。
遷移前的準備:全站備份
本次搬遷作業中阿寶透過Akeeba Backup 作了兩個全站備份檔,用意如下:
- 第一個全站備份:尚未對網站進行細部作業前的備份,如果之後發生什麼閃失就可以透過此備份回復。
- 第二個全站備份:前一個全站備份檔製作完畢後,開始進行網站無用資料清理作業,將作業完畢後的網站內容再用 AkeeBa Backup 全站備份一次,然後使用這個備份檔在新主機空間回復。
備份好的檔案建議透過 FTP 程式前往「administrator/components/com_akeeba/backup」路徑下載備份檔,雖然備份檔案也能以網頁(http)方式下載,但是以此方式下載下來的備份檔大多有問題,不建議使用。
遷移前的準備:清除不必要的資料
在網站運作過程中所安裝的擴充套件,可能會因為運作需求的關係而移除,而這些移除的擴充套件有可能會遺留網站檔案或是資料庫中的資料表。除此之外已經丟到回收桶的選單項目、文章分類、模組項目等在尚未清除之前也一樣會在資料庫中留有記錄,多少影響到備份作業時間。
發佈狀態為「垃圾桶」的選單群組如果內含選單項目是無法立即刪除的,請確認包含的選單項目已經全部清除後才能將選單群組刪除,文章分類╱文章項目的情況也是相同。
阿寶透過 eXtplorer 元件、Joomla! 管理區功能以及 phpMyAdmin 程式,將網站中不會用到的擴充套件垃圾檔案、資料庫中無用的資料表清除,再用 AkeeBa Backup 做全站備份,使用這個備份檔在新主機空間回復。
補充:使用 phpMyAdmin 可以檢視資料庫內容,擴充套件所建立的資料表通常會以「前綴字_套件名稱」命名。Akeeba Backup 可以設定「排外檔案╱資料夾」與「排外資料表」,在備份時會跳過指定的項目。
如果刪錯網站檔案或是資料表,以致網站在新空間運作時發生問題怎麼辦?這時最早所做的全站備份檔就派上用場了。
遷移作業:購買虛擬主機服務
虛擬主機的租用時間通常在付費開通之後就開始算了,所以阿寶是在全站備份的等待時間中到新主機廠商的網頁購買服務及付款。
大部分虛擬主機服務的公司有提供主機服務管理介面,常見的管理介面名為「Cpanel」。透過Cpanel使用者能對自己購買的服務進行管理,像是新增郵件帳號、資料庫等等。
在服務開通後主機廠商會寄送信件,或是在網站的管理頁面,提供使用者有關 Cpanel 登入網址、登入帳號密碼,以及暫時的網站網址等重要資訊。
遷移作業:新增FTP、資料庫、電子郵件資料
Joomla! 網站由「網站資料」與「資料庫資料」兩部分構成,網站資料需要透過 FTP 程式將檔案上傳,資料庫資料則需要匯入至資料庫中。
通常在虛擬主機服務開通時就會提供一組給管理者使用的 FTP 帳號資料,阿寶就是透過這份資料將 Akeeba Backup 製作的全站備份檔,以及解壓縮的Akeeba Kickstart 檔案上傳到新主機。
資料庫的情況比較不一樣:阿寶需要先在 Cpanel 畫面建立 Joomla! 網站所使用的資料庫項目及資料庫帳號,然後將資料庫項目的權限指定給資料庫使用者。
如果你的虛擬主機上有多個網站在運作,在資料庫使用者部分建議分開設定,也就是說各自的資料庫設定各自的資料庫管理者,如果有網站不慎被駭時才不會波及到其他網站。
電子郵件帳號也是透過 Cpanel 建立,你可以在畫面中找到郵件主機、通訊埠埠口的設定資訊,在設定電子郵件軟體(如ThunderBird、Microsoft Outlook等)時會用得上。
遷移作業:用 Akeeba Kickstart 處理備份檔案
用 Akeeba Backup 製作的全站備份檔案通常採用 JPA 壓縮格式,阿寶會建議透過 Akeeba Kickstart 程式進行線上解壓縮。
將 Akeeba Kickstart 程式與全站備份檔案上傳至網站根目錄,然後輸入「http://網站網址(或暫時網址)/kickstart.php」就能啟動 Kickstart 程式,解壓縮備份檔。
檔案解壓縮完畢後通常會引導到Akeeba Installer 畫面進行網站回復作業,在這次搬遷作業中阿寶阿寶遇到「回復作業完成後會發生無法讀取 php 檔案」的情況,解決方法是將既有的「.htaccess」檔案刪除,然後將「htaccess.txt」更名為「.htaccess」,如果朋友也有遇到相同的狀況不妨試試。
遷移之後:更改NameServer 資料
虛擬主機廠商通常會提供 DNS 代管服務,提供你兩組以上的 DNS 主機名稱及 IP 資料,讓你在網域名稱設定 NameServer 的頁面輸入。
隨著主機廠商的變更,你需要在相同的頁面輸入新的 NameServer 資料,更動資料後需等待最多48 小時讓管理 DNS 資訊的主機更新快取資料,在這段時間中有些網友會讀取到舊主機的資料或是找不到網站,事前的提醒、公告是必要的。
遷移之後:確認原先的租約情況
當遷移作業完成,網站在新主機空間穩定運作之後建議回頭審視舊主機設定畫面中有無「Auto Renew」或「Auto Renewal」(自動續約)文字,如果沒有關閉的話租約可能會在到期(或接近到期)時自動續約。為了避免後續衍生的作業時間,請記得確認是否有開啟自動續約的選項,或是直接聯絡廠商客服進行解約。