最近總看到Drupal系統有安全升級的提示,忙于别的事情拖了一陣子,現在準備來進行,上次大規模升級還是在2013年3月,再之前就是2012年2月嘗試升級,以及2011年初開始使用Drupal。
首先把我的個人網站升級,這個網站所在的服務器重裝過,目前PHP用的5.2.x版本,不支持Drush,所以先隻好用手工升級,步驟如下:
- 查看需要升級的模塊;
- 升級第三方模塊:在sites/all/modules中下載新版本、解壓、替換以前的老版本目錄,老目錄文件轉移到sites/all/will-delete中;
- 運行update.php升級數據庫;
- 在htdocs中下載新版Drupal 7.24,解壓,複制老版本中的sites目錄下所有文件及jamesqi.com下的robots.txt,logo,favicon等,替換以前的老版本目錄,老目錄文件轉移到/mnt/gx/will-delete中;
- 運行update.php升級數據庫;
- 檢查“狀态報告”,根據新版本的安全提示,修改files下和/tmp下的.htaccess文件内容;
- 修改includes/database/mysql下的schema.inc,改innodb為myisam;
- 反複檢查各種情況(例如标簽雲模闆的block設置),直到沒有問題。
後面再在其它服務器上用Drush來升級并補充記錄在這裡。
下午繼續用Drush升級了《Google AdSense實戰寶典》這個Drupal 6的網站,過程更簡潔一些,隻是注意提前用cp -rpa把整個目錄先人工備份到另外的地方,方便查看以前有過什麼更改,用drush pm-update一個命令,回答幾個yes後就都是自動升級、備份文件、更新數據庫了。升級結束後查看系統狀态,也要修改files和/tmp下的.htaccess文件,另外還要複制ckeditor的文件。我再另外順便做了一些block的簡化、排版的簡化、欄目的簡化等工作。
把以前與Drupal升級有關的博客文章搜索出來供參考:
- 2012年2月14日 - 10:21 《準備進行Drupal的升級工作》
- 2012年2月15日 - 22:37 《本網站從Drupal 6.20升級到6.24,再升級到7.12》
- 2012年2月20日 - 17:33 《大數據量Drupal 6網站升級到Drupal 7很麻煩》
- 2012年9月16日 - 00:06 《用Drush升級了本站(jamesqi.com)》
评论4
再從7.24升級到7.26
剛升級到7.24不久,又看到需要升級到7.26的提示,再次進行升級。
這次升級應該和前面差不多的過程,甚至有兩點更簡單:
今天把jamesqi.com升級了,以後再陸續升級其他Drupal 7和Drupal 6 (從6.29到6.30)網站。
不間斷用戶訪問進行升級
為了讓用戶訪問網站盡量不中斷,可以采取下面的方式:
該辦法在很多網站實際的升級中沒有問題,不過我們的網站多以浏覽為主,如果變動比較頻繁的網站,還是最好先把網站設為維護狀态,等升級完成後再還原恢複正常訪問。
系列網站的批量升級
系列網站一般都是共用一套Web程序,而數據庫都是獨立的,可以這樣進行:
注意這些系列站中各個網站使用的模塊最好是一緻的。
運行drush up升級長時間等待的問題
遇到有的網站在運行drush up升級的時候,需要等待很長時間,長達很多小時,甚至最後報錯停止,說無法複制備份。
經過檢查,應該是cache目錄的問題,當用boost緩存的時候可能生成很大量的緩存文件,drush自動備份需要很長時間。
這時候可以先移動或者删除cache目錄,然後再運行drush up升級,等升級完成後,将cache目錄再恢複到原來的地方。