SVN,全称Subversion,是一款版本控制工具,常用于多人协作项目开发中,其主页在http://subversion.tigris.org/
,同类型的工具还有CVS。
以下将介绍如何使用SVN升级您的虚拟主机中的WordPress至最新版(注:以下内容仅针对虚拟主机使用的是Linux操作系统,至于Win型主机请自行Google。)
必要条件
- 虚拟主机支持SSH登录。
此项一般在您购买虚拟主机时会在功能介绍中提及,国外的虚拟主机商如DreamHost、BlueHost、HostMonster等都提供了此项服务,只是一部分主机需传真身份证明才可正式开通。遗憾的是国内的大部分虚拟主机都未提供SSH,就我现在所知,似乎仅盘古的合租服务器支持SSH登录。如您知道类似的空间商,望告知。
- SSH客户端。
Linux和MAC操作系统中已自带有SSH客户端程序,Linux的SSH相关资料,MAC的SSH相关资料,Windows可以使用PuTTY,这款非常好用的SSH客户端。
- 虚拟主机安装有SVN程序。
国外的大部分虚拟主机都已安装,若没有您可使用Support Tickets或Email向主机商要求安装SVN,他们一般都会乐意安装。国内的,呃,沟通很重要。检测您的虚拟主机是否已安装SVN,可以通过SSH登录,使用命令#
whereis svn 查看运行结果,若已安装则会显示安装路径。(#是Linux命令提示符,不必输入。)
- 独立性良好的WordPress。
这里的独立性是指未对WordPress的核心文件进行修改。意思就是说您所有针对WordPress的操作应该集中在wp-config.php和wp-content/目录下(包括插件和主题),而没有修改WordPress自身的文件来实现功能。
例,如果我修改了WordPress自带的Default主题,那么在升级前最好将其修改为其他名称,这样才不会被SVN覆盖。您可以通过插件(一般是添加filter)实现修改WordPress显示效果,具体操作可以参看WordPress的官方API,示例可以参照Yskin的一部分插件。
- 最少45分钟或1小时。
升级过程可能会遇到各种稀奇古怪的错误,请耐心地Google并解决之。第一次升级比较慢,因为要建立SVN
Repository(呃,TortoiseSVN里是怎么翻译这个词的?),以后的升级就相对简单了。
第一次升级
在升级之前,您可以使用.htaccess文件来重定向您的blog到一个静态页面,具体内容可参看此处。当然,像我们这种小blog就没必要了。
- 使用SSH登录到您的虚拟主机的根目录下,一般名为public_html/或者www/,如果不是,请使用
cd 命令切换。
- 进入您blog目录的上级目录,也就是说使用
ls 命令可以找到您的blog目录(此例中假设blog目录的名字为wordpress)。
如此图,该图仅演示,请参照个人设置修改。
- 使用命令
# mv wordpress/ wordpress.bak/ 将您的旧blog目录重命名为wordpress.bak,若升级失败,则可直接进行恢复。
- 使用命令
# mkdir wordpress && cd wordpress 新建wordpress目录并进入此目录。
- 使用命令
# svn co http://svn.automattic.com/wordpress/trunk/
./ 从WordPress的SVN中检出最新版到当前目录下。WordPress的官方SVN页面参看http://wordpress.org/download/svn/。
- 将您旧版blog里的wp-config.php及插件和主题复制到新版中来。
- 使用命令
# cp ../wordpress.bak/wp-config.php
./ 拷贝wp-config.php。
- 使用命令
# cp -R ../wordpress.bak/wp-content/themes/yourthemes
./wp-content/themes/ 拷贝您的主题yourthemes到新版中,参数-R表示复制整个目录及子目录。
- 使用命令
# cp ../wordpress.bak/wp-content/plugins/yourplugin.php
./wp-content/plugins/ 拷贝您的插件yourplugin.php到新版中。
- 使用命令
# cp ../wordpress.bak/.htaccess ./ 拷贝.htaccess到新版中(如果您修改了.htaccess的话)。
- OVER!
将来的升级
以后的升级过程就比较简单了,进入wordpress目录,执行命令# svn update ,完成升级。
补充说明
- .svn的保护措施
在完成SVN Repository的建立后,该目录下每个目录中都会有隐藏目录.svn,这是存储svn控制文件信息的地方。为了blog的安全性,应禁止他人从浏览器中访问到此目录,可在.htaccess中如下设置:
<directory ~ “\.svn”>
Order Allow,Deny
Deny from all
</directory>
- 版本的回溯
如果我升级到最新版感觉不好用,又想退回旧版如何操作呢?
简单,找到旧版对应的Reversion(SVN版本号),在升级之前使用命令# svn
info 即可。
然后在想回溯时,使用命令# svn update -r5583 即可回溯到升级前的版本。
呃,升级前忘了查看版本号怎么办,没关系,去http://trac.wordpress.org/log/找,从上面搜索“Getz”,我们就找到了WordPress
2.2版本号应为5480。
关于SVN的详细信息,可以下载《使用Subversion进行版本控制》一书来仔细学习,强烈建议。
另一种方式下载WordPress
一般情况下,我们是先将wordpress最新版下载到本地,再上传到服务器。
如果您的虚拟主机支持SSH(Shell)登录的话,您可以在对应目录中使用命令# wget
http://wordpress.org/latest.tar.gz 来下载最新版。
接着命令# tar zxvf latest.tar.gz 来解压它,再覆盖旧版,删除新版已不需要的文件,升级数据库,完成。
参考文件
|