這是 Drupal 官方網站所提供的方式 http://drupal.org/node/29161,可以讓你的 Drupal 升級至不同的版本.(這裡的升級是大版本的升級 如:drupal 5 到 drupal6)
你的系統必須符合 Drupal 的最低要球,請參考Druapl 的官方網站 http://drupal.org/requirements
- 備份系統的相關檔案包括資料庫和 Drupal 的檔案
- 檢查 modules 的相容性
- 檢查 themes 的相容性
- 再開始前現讀過一遍這一份整份文件
開始吧!
- 備份你的 database 和 Drupal 目錄 – 尤其是你的 "sites" 這個目錄,這個目錄包括了你的系統設定檔以及額外 modules 資料和themes, 當然一些特別的 module 所存放在 "modules" 目錄,(升級後某些 modules 會無法使用必須重新下載來使用),還有 "files" 這一個目錄,它包含所以 uploaded 的檔案.其他的像是 .htaccess or robots.txt 在更新前都需要保留下來
- Note: 上面的說明是單一網站時所以要備份的東西,如果你是多個網站存放再同一台 Server 時不同的子目錄一樣要備份下來.備份請參考 https://benjr.tw/12352
- 記得你的第一個產生的 user嗎?( user ID=1)最好使用這個使用者來登入他有足夠的權限可以來執行 update.php 這個程式
- 先將你的網站設定成離線 "Off-line" 模式,這樣可以避免網站的資料庫在更新時被中斷以及更新失敗等問題發生離線設定在 https://benjr.tw/?q=admin/settings/site-maintenance (請使用自己的網站名稱 , benjr.tw 是這個網站的網域名稱 )
- 因為 theme 也是會有版本問題所以先將你的 theme 改成系統預定的 Garland 或是 Bluemarine.
- 因為 modules 會有版本的相容問題,所以在更新前最好把所有的 modules Disable.
- 要把所有的舊有的 Drupal 檔案全部移除,預設目錄為 /var/www/html/
- 將新下載來的 drupal 版本解開至 web server 目錄,Linux 的 Apache 預設目錄為 /var/www/html
- 還記得我們剛剛備份了很多檔案現在要一一還原至原處 "files" 和 "sites" .如果你有修改過 .htaccess robots.txt 這兩個檔(同樣儲存在 /etc/www/html : Apache 預設目錄)也一併還原至原處.
- 檢查一下設定檔是不是都還原至原處.
- 開始要升級了在瀏覽器執行 update.php 像是這樣 https://benjr.tw/update.php (請使用自己的網站名稱 , benjr.tw 是這個網站的網域名稱 ). 依據他指示的步驟開始 update 資料庫和 Drupal 的資料.
- Note: 如果你在瀏覽器執行 update.php 出現錯誤時請檢查下面的檔案:
– 在目錄 /var/www/html/sites/default/settings.php 確定下面的字串是如下面所示.
– 修改 $update_free_access = FALSE;
改成 $update_free_access = TRUE;
– 不要忘了在更新完成後要將 $update_free_access = FALSE ; - 不同版本的 modules 基本上是不能沿用的,需要額外下載來使用.
- – 如果你要檢查 modules, 參考網站 http://drupal.org/project/modules 下載和你同版本的 modules.
– 如果你要檢查自訂 modules , 參考網站 http://drupal.org/project/modules - 在執行一次 update.php 確定所以的 modules 和資料庫都更新到你要的版本.
- 不同版本的 themes 和 modules 基本上是不能沿用的,需要額外下載來使用.
- – 如果你要檢查 modules, 參考網站 http://drupal.org/project/modules 下載和你同版本的 modules.
– 如果你要檢查 themes , 參考網站 http://drupal.org/project/Themes 下載和你同版本的 themes - 好了最後一步驟就是讓離線模式恢復成上線模式 "Online" 先登入 https://benjr.tw/?q=user 使用你的管理者身分( user ID=1)登入 https://benjr.tw/?q=admin/settings/site-maintenance (請使用自己的網站名稱 , benjr.tw 是這個網站的網域名稱).
- 如果遇到任何問題請參考 Drupal 官方網站的 handbook
note:Linux 下複製檔案不要忘記了 cp 要加上參數 -p(連權限一併複製)
但是像是小版的的更新,如 6.5 -> 6.8 就不需要這麼複雜的手續,只要下載檔案後將新版本的 /sites/ 目錄刪除,並將新版本複製到你系統的 drupal 即可.更新就算完成了.
[root@benjr ~] # wget http://ftp.drupal.org/files/projects/drupal-6.26.tar.gz [root@benjr ~] # tar zxvf drupal [root@benjr ~] # tar zxvf drupal-6.26.tar.gz [root@benjr ~] # rm -rf drupal-6.26/sites/
PS:在做任何更新時千萬要先把 drupal 備份下來,包括 /var/www/html 目錄和 mysql 資料庫.關於 drupal 備份方式請參考 https://benjr.tw/12352
沒有解決問題,試試搜尋本站其他內容
今天將原本舊版的 Drupal 6.8 升級到 Drupal 6.17,到目前為止都沒什麼問題.