一步步將 Joomla 2.5 遷移(Migration)至 3.x
From Joomla! Documentation
要從 Joomla! 2.5.28 移轉到 Joomla! 3.x 最新版,目前只能分兩階段進行。首先,請先移轉到 Joomla! 3.5.1,之後你才可以由一鍵安裝,從 Joomla! 3.5.1 升級到最新的 Joomla! 3.x。
本文將一步步的將你的 Joomla 2.5 網站遷移到 3.x。由於實際的應用情境可能有數百種,我們將給你一個最基本的流程可以遵循。大量的第三方擴充套件可能會造成較為複雜的遷移流程,建議你可以聯絡第三方套件的作者詢問相關建議來幫助您遷移這些套件至最新版本。
導覽
Joomla 2.5 至 3.x 的遷移其實很簡單,因為核心功能與套間皆能透過一鍵遷移完成。許多第三方套件也可以透過後台一鍵遷移來更新至最新版。但有一部分的套件卻不行。你必須一個一個的確認這些套件能否被遷移至 3.x 使用。如果你尚未準備好,你可以在遵循下面的流程之前,預先閱讀自我評估與計畫從版本 2.5 到 3.x 的移轉 。
Joomla 的核心套件:
- Categories (分類)
- Articles (文章)
- Menus (選單)
- Modules (核心模組 - 不包括第三方的)
- Banners (廣告)
- Contacts (聯絡人)
- Messaging (訊息)
- Newsfeeds (新聞連播)
- Redirect (重導向)
- Search (搜尋)
- Smart Search (智慧搜尋)
- Weblinks (網站連結)
較大或較複雜的 Joomla! 2.5 網站遷移至 3.x 的過程
一鍵更新在多數情況下可以良好的運作,但在某些較大型,或較為複雜的網站下可能就沒那麼適合。為了這樣子的複雜網站遷移,你可能需要遵循一些標準化的遷移過程,並暫時避免使用一鍵更新。你可以先參考以下文章:計畫從版本 1.5 到 3.x 的移轉與一步步從 1.5 移轉到 3.x,只要將文章中的 1.5 換成 2.5 來操作即可。
逐步操作過程
準備工作環境
- 備份你的 2.5 網站。你可以使用推薦的工具(見本頁最下方),或者手動做這件事。
- 開始進行前,確定你的環境符合 Joomla! 3 的系統需求這篇文章所描述。
- 建立一個新的資料庫與使用者來還原你的 2.5 網站。
- 建立一個新的測試用 2.5 網站來當做作業環境,還原你原本的 2.5 網站的資料。
- 一個子網域。
- 一個子目錄。
- 本地端環境例如: WAMP, MAMP, LAMP, XAMPP.
- 一個新的主機帳戶在新的臨時網域(如果你打算遷移完成後放在新主機)。
- 在本地端還原你的網站。請見:在本機安裝 Joomla! 與在工作站配置開發 Joomla! 的環境.
- 用下方所列的工具還原你的網站。(閱讀開發者文件)
- 在測試空間中,先將 Joomla 2.5 更新至最新版本(目前是 2.5.28)
- 確保你的資料庫結構(Schema)是最新版,可以前往:擴充套件管理 → 資料庫 分頁,如果發現資料庫不是最新版,按下 修復 按鈕。
- 清空垃圾:有文章放在垃圾桶裡嗎?如果有,請刪除他們,順便把那些跟他們有關聯,沒有用到其他地方的媒體也一起刪掉,如果有分類和選單也在垃圾桶裡,請比照辦理。這些不需要用到的東西可能會導致移轉時發生錯誤。
- 測試你的網站
- 再次備份
逐步處理每個擴充套件
- 接著你需要一一檢視你的擴充套件,確認這些套件個別需要更新或是移除。在 Joomla! 2.5.28 中,你可以前往: 擴充套件管理 → 更新 分頁 並按下 尋找更新 ,接著會在「管理」分頁中的版本欄位出現相容性提示。 此功能只有在該擴充套件支援後台一鍵更新時才會出現。如果你安裝的套件不支援後台一鍵更新,則你需要參考下方的資訊來取的更多細節。這些套件也會有提示。你需要根據這些套件或套件包的資訊去聯絡作者以確定該如何更新至最新版。
- 前往 擴充套件管理 → 管理 分頁
- 選擇「類型」下拉選單
- 選擇「套件包」類型之所以先選擇「套件包」,是因為當套件包需要被刪除時,可以一併刪除所有關連的套件。
- 移除所有不支援 Joomla! 3.x 的套件包
- 重複這個步驟去刪除所有類型的套件,包含:元件、模組、外掛、函數庫、語言、檔案與佈景。如果作者是「Joomla! Project」,則不要刪除。「智慧搜尋」的作者欄位雖然是空的,但依舊由 Joomla! 官方所維護。除此之外,確保你移除了所有不支援 Joomla! 3.x 的套件。注意! 你無法移除任何被設為「預設」的佈景主題,因此最好先將內建佈景設為預設,例如 Beez 或 Atomic,接著再把原本的佈景刪除掉。
- 替你網站上所有保留下來的擴充套件做個記錄,包含名稱、版本與相容性等等。你可以使用這個範例文件:編列第三方擴充套件的表格或者單純用個文件記錄起來。
- 更新所有擴充套件至最新版本。
- 在你更新前,確認是否有套件同時支援 2.5 與 3.x。如果是的話,這些套件可以放心的使用一鍵更新。如果這些套件包的 2.5 與 3.x 採用不同的程式包裝,您最好遵循特定的步驟來處理這些套件,可能會有以下的情況:
- 有些套件雖然採用不同包裝,但更新到 3.x 之後,它會做簡易的版本判斷來讓自己維持正常運作。最好跟開發者預先確認這件事情。
- 有些套件採用不同包裝,且 2.5 與 3.x 不互通,此時必須移除舊版,等更新到 3.x 時再安裝新版。例如某些內容類外掛就可以順利移除再安裝新版。
- 參見以下文章來取得更多關於佈景主題更新的資訊:關於佈景主題的考慮
前往 Joomla! 3.x
當你完成這些第三方套件的更新,並確認皆支援 Joomla! 3.x,你可以繼續跟隨接下來的步驟。
Once you have either updated or uninstalled your third-party extensions so that only those compatible with Joomla! 3 remain in your installation, continue with the following steps:
- 前往系統 → 全站設定 → 伺服器 分頁將錯誤回報從「系統預設」改為「最大」,別忘了儲存。
- 前往 擴充套件 → 外掛管理 搜尋 Remember Me(記住我)。
- 按下綠色按鈕關閉「記住我」外掛,變成紅色圈圈。
- 再備份一次。
- 建議但不見得必要的項目:修復權限(assets)(修復權限表)。下方有建議的工具可以快速完成。
- 前往 元件 → Joomla 更新。(應該不會找到任何更新,如果還有更新的話,先更新它,然後備份)。按下右上方的「選項」按鈕。
- 在「更新伺服器」選擇「短期更新」(Short Term Support)(目前是這樣叫沒錯,但未來可能隨著更新伺服器而有所不同)
- 按下儲存並關閉
- 你將會看到你當下的 Joomla! 版本,可更新的 Joomla! 版本也及更新包網址。
- 如果更新沒有出現,前往擴充套件管理 → 更新按下清除快取,現在更新應該會出現了。
- 再次確認你關閉了「記住我」外掛並且已經備份過。
- 按下更新按鈕。
- 看著進度提示轉阿轉,慢慢感受那焦慮的更新過程吧~~~XD!沒啦!開個玩笑。 更新速度依賴於你的網站大小、網路速度與主機的硬體配置。
- 如果更新成功,你會看到一個全新的後台介面。
- 按下清除快取按鈕。
- 前往 擴充套件 → 管理 → 資料庫 按下「修復」。
- 在擴充套件管理,前往「探索」頁面探索看看有沒有未安裝的套件。
- 建議但不見得必要的項目:修復權限(assets)(修復權限表)。下方有建議的工具可以快速完成。
- 重新啟動「記住我」外掛。
- 到前台看看佈景主題是否正確顯示,如果沒有,請參見 在移轉時常出現的錯誤。
- 備份網站。
- 此時最好可以清除一下瀏覽器快取,有些瀏覽器會保留 2.5 時期的腳本檔案,這些快取會造成後台按鈕無法運作。
- 前往內容 → 文章管理 → 選項 → 編輯頁面 分頁將儲存歷史版本設為「是」。
- 安裝你的新佈景與套件,安裝完成後,記得再備份一次。
- 設定它們。再備份。
- 測試每一件事情。再備份。
- 如果一切正常,關閉錯誤報告,設成「系統預設」(系統 → 全站設定 → 伺服器 分頁),記得儲存。
上線你的 Joomla 3.x 網站
NOTE: It is recommended that you do the mini-migration to Joomla 4 at this point unless there's some really good reason not to do so. To continue to Joomla 4, see Planning for Mini-Migration 2.5 to 4.x and 3.10.x to 4.x Step by Step Migration.
- 當你準備上線新的網站時,再次備份舊的 2.5 網站。如果你有需要,將它還原在一個子目錄或子網域。
- 備份 3.x 新站,然後將它移動到根目錄或你要的新位置(或者更改 Domain 指向到新主機)。
- 再次測試。
- 過陣子,若不在需要 2.5 網站,可以移除它,或者修改 robots.txt 避免被 Google 索引。
- 移除所有處理過程的臨時網站,免得被駭客搜尋到之後遭到攻擊。
如果你在遷移過程有一些資料的變更,你可以在 3.x 上線前手動處理這件事(確保你保留原本的 User ID),或者依靠第三方套件:第三方的傳輸套件。
建議工具
- Akeeba Backup 方便你備份與還原。
- ACL Manager 方便你快速修復權限(assets)。