2010年底我开始尝试使用Drupal来建站,替代已经使用过多年的MediaWiki,当时Drupal的最新版本是6.19,在不久后的2011年初推出了Drupal 7的正式版本,但因为很多第三方模块都还没有与Drupal 7配套的,所以我也一直没有用Drupal 7,为了省事就一直用的Drupal 6,只是中途用一个简单的复制文件的办法"Drupal 6.x Upgrade - Files Only"来升级到6.20。
此后Drupal 6又陆续推出了6.21, 6.22, 6.23, 6.24,但都无法使用前面的直接复制文件的办法来更新,所以我也一直拖着没有再升级,虽然总是看到系统的升级提示。
另外,Drupal的第三方模块升级起来要简单一些,主要就是复制新的文件替代以前的文件,然后运行update.php就可以了,这个工作我倒是进行过几次,都还算比较顺利。
最近新购入了几台服务器,搭建新网站的时候自然就准备直接用目前最新的Drupal 7.12了,也准备逐步将以前的Drupal 6.20版本网站进行升级,这两天看了不少这方面的文档,升级确实是一个麻烦事情,但肯定是可以克服苦难而带来好处的,所以后面还是会进行。
升级的办法主要都是参考Drupal官方网站上的英文说明,对于我们网站来说,有地方需要特别注意,就是我们网站在很少量的第三方模块甚至核心模块上做了修改变动,这是不规范的,需要在升级的时候特别留意,我记得修改的一些地方如下:
- 修改过themes/garland/garland.info和themes/garland/page.tpl.php,添加了Top和Bottom两个Block位置;
- 部分网站修改了搜索结果显示模块modules/search/search-result.tpl.php,去掉了发布人和发布时间的显示;
- 为了避免导入数据数据等时候遇到超时报错,修改了includes/common.inc,将其中的@set_time_limit(240);改为@set_time_limit(360);
- 导入数据的过程中还有报错,需要修改node_import.inc,将1007行删除或者注释或者修改那个60:set_time_limit(variable_get('node_import:set_time_limit', 60));
- Pathauto模块生成带有单引号、双引号、反斜杠URL问题,通过修改path.inc中的代码来解决;
- 使用Transliteration模块实现中文转拼音,原来附带的拼音有不少都是错误的,需要修改代码来解决;
- 为了Drupal网站中不让Cron自动更新XML_Sitemap,修改sites/all/module/xmlsitemap/xmlsitemap.admin.inc这个文件,最长一周改为十年;
- 还有robots.txt、.htaccess、favicon.ico、增加files目录、链接cache/normal目录、移动版本网站theme变动等一些修改。
准备来测试、实施逐步进行:
- 安装一个全新的Drupal 7.12来试用各种功能、插件,体验与Drupal 6的不同之处;
- 将一个(一个目录放置一个网站)不重要站点Drupal 6.20升级到6.24,并将各种插件也都升级;
- 将一个(一个目录放置一个网站)不重要站点6.24升级到7.12,并将各种插件也都升级;
- 将一个(一个目录放置一个网站)重要站点Drupal 6.20升级到6.24,并将各种插件也都升级;
- 将一个(一个目录放置一个网站)重要站点6.24升级到7.12,并将各种插件也都升级;
- 将一群(一个目录放置多个网站)不重要站点Drupal 6.20升级到6.24,并将各种插件也都升级;
- 将一群(一个目录放置多个网站)不重要站点6.24升级到7.12,并将各种插件也都升级;
- 将一群(一个目录放置多个网站)重要站点Drupal 6.20升级到6.24,并将各种插件也都升级;
- 将一群(一个目录放置多个网站)重要站点6.24升级到7.12,并将各种插件也都升级;
- 以后的各种网站再从7.12开始保持升级。
这个过程今天就开始,很快就会对本人这个个人网站也下手升级了,希望能顺利一点,不要明天就打不开我的个人网站了,哈哈 😊
评论