用Subversion安装/升级WordPress

如果进入web服务器时需要输入命令行,或者服务器中安装了客户端版本管理系统(Subversion),我们就可以利用Subversion来安装与更新WordPress的版本。软件开发人员使用Subversion的机会较多,但普通用户也可以用它来安装升级WordPress。相对于WordPress标准安装/升级程序(下载并解压压缩文件,然后用FTP将解压文件发送到虚拟主机上)而言,很多用户认为用Subversion安装WordPress更加方便。

背景介绍

下面首先介绍一些背景知识。市面上有很多源代码版本控制系统,Subversion正是其中之一;Subversion的与众不同之处在于,它是WordPress专属的版本管理器。软件开发人员用版本控制系统来追踪软件源代码以及软件的后台修改信息,之后开发人员以此定期公开发布软件的新版本。使用Subversion中有对Subversion、Subversion命令以及Subversion用法的介绍。

我们在使用Subversion中说到,WordPress Subversion库分为不同分支或版块。当用户安装或升级WordPress时,首先要选择所使用的分支:

  • trunk:Trunk表示WordPress最新已开发版本。由于是新产品,trunk可能有很多漏洞,但我们可以用它来测试插件和主题与WordPress新版本的兼容性。使用truck前请先阅读下文中“用Subversion安装WordPress Trunk版”。
  • WordPress特别发布版:这是相对稳定的WordPress正式版,可用于正常工作。使用前请先阅读下文中“用Subversion安装WordPress正式版”。

使用Subversion升级WordPress前还需要决定博客/网站的安装位置。以下所有示例都假设将博客安装在“blog”目录下。如果博客在其它目录下,要将命令中的“blog”目录改为相应的博客所在目录。

警告:本文中的操作说明与WordPress官方升级说明略有差异,文章中不会要求用户升级前禁用插件或是备份数据库,用户应主动备份或禁用插件。切记!

用Subversion安装WordPress Trunk版

本部分内容假设目前有一个博客,该博客运行了最新的WordPress版本,并且博客主人可以接受博客中出现BUG。希望使用WordPress已发布的正式版本的用户可以跳过本段内容进入“用Subversion安装WordPress正式版”。而如果用户已经按照WordPress标准安装方法安装了WordPress博客,请进入文章的“为传统WordPress博客安装Subversion”部分。

安装

安装WordPress新版本前,请在WordPress安装文件夹的上级目录中输入以下几行命令提示符:

$ mkdir blog
$ cd blog
$ svn co http://core.svn.wordpress.org/trunk/ .

这些命令为博客生成一个名为“blog”的文件夹,之后从版本库中查找(Subversion命令“co”)或引用(Subversion命令“export”)WordPress的“trunk”版。字符“$”无需输入——$是命令提示符标记。

URL中的结尾斜线和URL后的句号都非常重要——它们确保从版本库中下载的文件最终被存入当前文件夹;如果省略URL结尾部分的句号,命令行会为博客生成一个新的安装文件夹(文件夹名为“trunk”)。这会为希望使用预定安装文件夹的用户带来不必要的麻烦。

文件下载完毕后,将wp-config-sample.php文件中的内容复制到wp-config.php 和edit wp-config.php文件中,然后进入博客URL完成安装,这与WordPress标准安装过程一致。

升级

WordPress发布新版本时,我们需要将原有安装版本升级为最新版本。这时首先要登录WordPress博客然后利用Subversion的“update”(up)命令:

$ cd blog
$ svn up

这样会改写所有被改动过的WordPress自带文件,而保留所有用户自定义的文件以及用户自有文件、插件与主题。换言之,这是一种安全防护措施(为避免出现意外情况,我们仍然推荐用户事先备份)。

接着运行wp-admin/upgrade.php文件,完毕。

用Subversion安装WordPress正式版

本部分内容假设目前有一个博客,该博客运行的是一个稳定的WordPress正式版本。希望使用WordPress最新版本(不稳定)的用户可以回到“用Subversion安装WordPress trunk版”。而如果用户已经按照标准安装方法安装了WordPress博客,请进入文章的“为传统WordPress博客安装Subversion”部分。

接下来要决定所安装的WordPress版本。本部分的示例中假设所安装的是特别发布版;希望安装其它版本的用户请将文中出现的特别发布版的版本号改为自己所需要的版本号。

安装

安装WordPress前,请在WordPress安装文件夹的上级目录中输入以下几行命令提示符(假设当前所需WordPress版本为2.8.3):

$ mkdir blog
$ cd blog
$ svn co http://core.svn.wordpress.org/tags/2.8.3 .

这些命令为博客生成一个名为“blog”的文件夹,之后从版本库中查找(Subversion命令“co”)或引用(Subversion命令“export”)所需WordPress版本。字符“$”无需输入——$是命令提示符标记。

URL中的结尾斜线和URL后的句号都非常重要——它们确保从版本库中下载的文件最终被存入当前文件夹;如果省略URL结尾部分的句号,命令行会为博客生成一个新的安装文件夹(文件夹的文件名为“tags/2.8.3”)。这会为希望使用预定安装文件夹的用户带来不必要的麻烦。

文件下载完毕后,编辑wp-config.php文件,然后进入博客URL完成安装,这与WordPress标准安装过程一致。

升级

WordPress发布新版本时,我们需要将原有安装版本升级为最新版本。这时首先要登录WordPress博客,然后利用Subversion的“switch”命令(sw)转换到最新发布的版本(假设最新发布版号为WordPress 2.8.3):

$ cd blog
$ svn sw http://core.svn.wordpress.org/tags/2.8.3/ .

这样会改写所有被改动过的WordPress自带文件,而保留所有用户自定义的文件以及用户自有文件、插件与主题。换言之,这是一种安全防护措施(为避免出现意外情况,我们仍然推荐用户事先备份)。

接着运行wp-admin/upgrade.php文件,完毕。

查找已发布版本

用户可以访问Subversion库的“tags”版块http://core.svn.wordpress.org/tags/,从中查找WordPress的所有已发布版本。

从svn.automattic.com库迁移到core.svn.wordpress.org库

从旧版本库svn.automattic.com中退出,希望转换到新版本库core.svn.wordpress.org的分支中时,可能会遇到以下错误:

svn: 'http://svn.automattic.com/wordpress/tags/2.7.1'is not the same repository as'http://core.svn.wordpress.org'

用relocate命令告诉Subversion在新位置上使用相同分支:

$ svn switch --relocate fromURL toURL [path], e.g.

$ svn switch --relocate http://svn.automattic.com/wordpress/tags/2.7.1http://core.svn.wordpress.org/tags/2.7.1/

然后根据上文中的描述更新WordPress版本。

为“传统”WordPress博客安装Subversion

为没有安装Subversion的WordPress博客安装Subversion时,请遵循以下操作步骤:

1. 新建一个临时博客文件夹

2. 用上文中提到的Subversion命令查找WordPress版本(trunk版或是稳定版)

3. 将原博客文件夹中所有自定义文件转移到临时文件夹中

4. 以原博客文件夹的名称重命名临时文件夹

5. (在管理界面或 - /wp-admin/中)运行WordPress更新脚本,测试博客

当然,建议操作前备份原有文件夹、数据库,禁用所有插件。

假设原博客文件夹的文件名为“blog”,临时文件夹的文件名为“blog-new”,所需WordPress版本为2.8.3正式版,下面分别介绍不同步骤应使用的命令行。再次注意:字符“$”无需输入——$是命令提示符标记。

首先查看当前使用的WordPress版本(在管理界面的控制板中可以找到WordPress版本信息)。在下面的例子中,我们假设当前使用的是WordPress 2.7.1。

然后将WordPress 2.7.1转入新文件夹(本例中为blog-new):

$ svn co http://core.svn.wordpress.org/tags/2.7.1 blog-new  

将原有wp-config以及.htaccess文件复制到新网站中:

$ cd ../blog  $ cp -p wp-config.php .htaccess ../blog-new  

将原博客中的插件、主题以及上传的图片/视频复制到新博客中(插件、主题、图片/视频都存储在wp-content目录下):

$ cp -rpfu wp-content/* ../blog-new/wp-content  

这不会影响wp-content中的WordPress自带插件,但最好用Subversion进行确认:

$ svn status ../blog-new/wp-content  

结果的代码行只可能以“?”开头(针对用户自有文件,非WordPress Subversion库中的文件)或是以“X”开头(针对具有自己的Subversion库的插件,如Akismet)。以“M”开头的文件会被本地修改,之后用户需要逐个修复这些文件:

$ svn revert ../blog-new/wp-content/some/file  

接下来将原有文件夹中的所有自定义文件和文件夹复制到新博客文件夹中(适用于部分用户)。例如,如果原有文件夹中有一个images子文件夹和一个wp-digest文件:

$ cp -rp images wp-digest ../blog-new  

这时可以检查是否一切准备就绪:

$ diff -rq blog/ blog-new/ | grep -v svn  

利用上述代码中的“cp -rp”命令,所有列在“Only in.”中的文件都会被复制到Subversion系统中。

接着重命名新博客文件夹中的文件夹,使新博客文件夹能够整合到博客中。为避免麻烦,可以用一行命令行来完成以上动作:

$ cd ..  $ mv blog blog-old; mv blog-new blog  

回到博客中,检查是否一切正常。如果某部分不能正常运行,用户需要检查是否已经复制了原有博客文件夹中的所有自定义文件(再次执行diff命令)。如果仍然有问题出现,还原原有博客文件夹,必要时可以从备份文件中还原数据库。

到现在为止,安装了Subversion的博客已经能在原有WordPress版本上正常运行了。接下来只需要将WordPress升级到最新版本。

新版本的发布总是不可避免的:

$ svn sw http://core.svn.wordpress.org/tags/2.8.3 blog  

此时,所有文件都已经更新完毕,最后只需要访问wp-admin/upgrade.php链接,让WordPress进行必要的数据库升级。然后就可以测试博客中的链接和各种功能了。

人吐槽 人点赞

猜你喜欢

  • 服务器端常见的Linux操作
  • linux 常用命令(三)——(centos7-centos6.8)JDK安装
  • 如何统计 Linux 中文件和文件夹/目录的数量
  • Linux的基本命令(CentOS)
  • CentOS 6.5 Tomcat安装及配置
  • FreeBSD 查看USB
  • centos7安装pycharm(小白篇)
  • Error:Makefile:452: target 'config' given more than once in the same rule
  • linux学习(一)
  • linux查看磁盘占用情况
  • Linux(Redhat)安装python虚拟环境
  • pycharm linux版快捷方式创建
  • Linux基础命令归纳大全
  • Ubuntu修改桌面为Desktop
  • linux的路上_linux学习笔记二
  • Linux中如何删除特殊字符命名的文件夹
  • linux环境中配置安卓开发环境使用gradle打包apk(不用Android Studio)
  • 自己编译安装OpenCV (linux/windows)
  • Linux常用命令
  • JavaSE ImageIO编写的验证码在linux上的tomcat显示不出来的问题解决
  • linux常用命令
  • Linux系统rpm命令安装jdk并配置环境变量(个人实践)
  • linux下搭建nginx+php环境
  • Linux基本操作命令
  • AID-Linux-day02
  • Linux 删除文件夹和文件的命令
  • linux 常用命令及在linux下设置jdk的环境变量
  • linux下将当前文件夹下某一类型文件名存储在一个txt文件里面
  • Linux 16.04+Caffe+TensorFlow+CUDA9
  • Linux查找某个目录下包含某个字段的文件
  • Linux 上安装配置jdk
  • linux c遍历文件夹
  • linux jdk1.8安装
  • Linux 常用命令
  • linux下删除文件或文件夹的命令
  • 基于linux下的solr集群以及分布安装
  • Linux下部署maven-web项目
  • Linux环境 Spring整合Quartz定时任务执行2次,Spring定时任务执行2次
  • Linux安装JDK完整步骤
  • 【每天学点Linux命令】(零)目录
  • Linux上安装ArcGIS Engine详解
  • linux 命令操作之zip/unzip使用
  • 【每天学点Linux命令】(四)修改conda和pip源
  • Golang服务器Windows交叉编译Linux可执行文件
  • Linux系统下删除整个文件夹
  • 通过xshell安装Nmon到Linux服务器上
  • Linux小技巧
  • linux系统把本地代码上传到github的仓库中
  • linux命令-01
  • Windows10系统下怎样使用Linux命令
  • Linux常用命令
  • Linux安装JDK
  • 锁定的文件会阻止 Linux 系统中某些文件或者数据的访问
  • kafka 安装 -Linux
  • linux之find命令
  • Linux笔记2
  • Linux笔记2
  • Zabbix3.4-RHEL 7.4 X64 YUM联网安装
  • linux 下一些对tomcat的命令
  • Linux系统下Redis集群的搭建
  • linux的10个基本命令
  • Linux命令(上)
  • zynq学习笔记之petalinux (3)petalinux 创建自定义工程
  • python工程师最常用的linux操作命令总结
  • Zookeeper -- 本地\\完全分布式 搭建
  • Linux shell脚本中是如何传入参数的
  • Linux该如何学习,linux命令初试
  • Linux redis安装配置
  • centos7安装java开发环境
  • 常用Linux命令
  • linux环境下安装jDK,Android Studio,SVN以及Git
  • linux中jdk安装(-bash: /data/program/software/java8/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: )
  • Linux下如何避免误操作执行 rm
  • Linux常用的基础命令
  • Linux--文件夹操作指令
  • linux(3)
  • Linux基本命令总结一(ls,cp,rm,mv,mkdir,rmdir,cd)
  • linux复习(1)
  • Linux 下安装 MATLAB
  • windows与linux共享文件和linux挂载到远程服务器上
  • Linux 下 Xampp 实现域名绑定到指定目录
  • Linux的解压和压缩!(gzip;bzip2;tar)
  • Linux压缩管理
  • JDK1.8在LINUX下安装步骤
  • 在linux中配置vsftpd 多用户对应多目录,使用虚拟用户设置VSFTPD账户(无需数据库工具)
  • 关于linux目录层级过多导致无法复制完全文件的方法
  • Linux 安装JDK 图文详细步骤
  • 分布式日志系统ELK搭建
  • Linux入门(二)
  • linux命令(1)
  • Linux常用命令
  • Linux上搭建Samba,实现windows与Linux文件数据同步
  • Linux常用命令
  • linux遍历文件夹并且去除文件名中的空格
  • Linux上搭建Samba,实现windows与Linux文件数据同步
  • linux 一些常用命令
  • 在linux环境下建立git远程仓
  • 监控-添加Linux负载生成器
  • Linux 操作记录
  • linux环境下Elasticsearch2.3.2集群搭建和插件安装
  • Linux入门--01指令一
  • linux下redis 搭建集群
  • Linux下配置svn的同步
  • linux命令
  • linux系统下(x86_64)安装jdk 1.6(jdk-6u45-linux-x64.bin)
  • 程序员最常用linux命令(持续更新版)
  • 1.2 linux使用技巧快速入门
  • linux-solr7.20-tomcat8.052安装
  • 在Linux上建立LDAP服务器
  • linux 源码安装 tensorflow C++
  • linux文件打开命令
  • linux-ftp配置之解决503 chould not create file 问题(真实解决,不吹牛)
  • Linux 基础1:
  • Linux1:常用命令
  • linux上传文件到github
  • 基础篇 | 18 Linux下Makefile编译文件制作
  • 如何在腾讯云linux服务器安装Mongodb?
  • [转] linux下ssh远程登录服务器入门操作
  • 在 Linux 环境下,编写一个非常实用的删除小脚本
  • Linux CentOS7下安装Zookeeper
  • Linux常用命令
  • linux下删除文件夹/文件
  • linux下Tomcat配置提示权限不够解决办法
  • 【Linux C】遍历 指定文件夹的所有文件 (非递归实现)
  • mysql5.6 绿色免安装版 安装详解
  • Linux服务器 /dev/mapper/VolGroup-lv_root爆满两种可能与基本解决
  • Linux中文件属性与权限的更改
  • ubuntu 下向远程(linux服务器)安装zookeeper3.4.6
  • Linux 删除文件夹和文件的命令
  • Linux统计某文件夹下文件、文件夹的个数
  • windows更改MySQL存储路径
  • windows 与 Linux 互传文件
  • 嵌入式linux学习笔记——基础环境搭建
  • Linux中用到的命令
  • 重庆大学Dr.COM客户端在Ubuntu16.04下的联网说明(Linux下静态IP地址设置)
  • Linux 基础
  • linux命令技巧
  • 谨慎!Linux的10个最危险的命令
  • DOS和linux操作命令详解
  • linux 安装Python3
  • 安装及配置mysql-5.7.21-winx64
  • 关于mysql安装到最后一步老是停留在starting server,显示无响应
  • MySQL 基础小技巧
  • matlab linux版本r2014a安装教程
  • linux常用命令:创建文件和文件夹
  • Linux常用基础命令总结1
  • linux 编写.bashrc快捷键
  • Windows系统中完全卸载MySQL数据库,实现重装
  • Linux安装JDK完整步骤
  • LINUX gcc/g++编译命令
  • MySql 5.7.21免安装版本win10下的配置
  • linux安装jdk8
  • MySQL安装配置和链接的过程
  • 虚拟机Linux下安装jdk
  • Linux学习(一)
  • Linux常用命令
  • 谈论linux同组多用户操作问题
  • Linux Shell Scripting Cookbook 读书笔记 3
  • Linux安装java
  • petalinux提取源码
  • MySQL 安装、登陆及卸载
  • mysql数据库自动备份脚本
  • LINUX的基本操作
  • Linux中对文件和目录进行操作的常用命令,及通配符的使用和两种路径
  • MySQL 初探 问题整理
  • LINUX安装JDK
  • 【Linux】YUM本地源制作
  • 【Linux】CentOS7.0下安装JDK环境
  • CentOS 6.3下Samba服务器的安装与配置
  • linux配置jdk
  • Linux中安装Redis
  • Linux下查看文件和文件夹大小
  • mysql8+安装入门
  • LINUX 常用命令 securecrt
  • FreeBSD--如何最有效率的安装软件
  • linux命令 把Windows 文件拷贝到linux
  • linux下搭建Jenkins环境
  • Linux安装JDK完整步骤
  • Linux 学习笔记
  • Linux常用操作指令
  • 重装MySQL在最后一步无响应解决方法
  • linux 安装nginx
  • Liunx常用命令
  • mysql移植到a20
  • linux文件比对diff命令
  • linux基础
  • linux 删除日志
  • linux内核(三)文件系统
  • MySQL主从配置,实现读写分离
  • 在Linux上搭建VisualSVN Server(svn服务端)
  • Linux常用命令
  • linux递归强行删除目录和文件
  • CentOS6.5下安装MySQL-5.6.22并设置远程访问
  • 关于servlet连接mysql数据库的空指针问题
  • MySql全套攻略——如何彻底卸载MySql篇
  • Windows下MySQL5.6查找my.ini配置文件
  • Python 连接pymysql 并读入一个文件夹所有照片的路径存储到sql中
  • WIndows系统下安装、启动、登录MySQL
  • WIndows系统下安装、启动、登录MySQL
  • MySQL的my.ini文件查找
  • 亲测有效+最简单的操作:运行mysql时,提示Table‘performance_schema.session_variables’ doesn’t exist
  • mysql安装配置
  • mysql忘记密码之后。。。。
  • Mac下java连接mysql数据库
  • 完全卸载mysql数据库
  • 1. 在centos上安装mysql数据库
  • mysql安装后不能重新修改目录文件夹的名字?
  • Linux平台卸载MySQL总结
  • windows安装MySQL8.0
  • Sqoop拷贝MySQL数据表到HDFS存储
  • 腾讯云安装MySql
  • MySQL-5.7.22安装和安装中常见问题install/Remove of the Service Denied与net start mysql服务启动失败解决方法
  • 笔记@MySQL————————冷备份:实验,cp、tar
  • MySQL卸载步骤
  • 关于mysql8.0.11版本在win10安装
  • 在QT中使用MySQL数据库
  • Mysql8.0.11踩过的坑
  • MySQL学习(三)数据库的基本操作
  • MySQL安装及配置
  • Navicat备份Mysql库 以及 设置备份的路径。
  • MySQL 官方示例数据库安装
  • windows10安装mysql8.0.11(免安装版)
  • mysql 主主 主从配置
  • windows10安装mysql8.0.11(免安装版)
  • 解压版mysql的下载和配置
  • Centos6.5 安装配置 Apache +mysql +php 操作文档
  • Mysql-5.7压缩版安装服务
  • mysql闪退问题
  • centos安装jdk、tomcat、mysql部署
  • redhat安装jdk、tomcat、mysql
  • mysql 中的锁
  • centos(6.5)Linux安装MySQL(安装包方式)
  • Centos6.5 + Nginx +mysql + php 安装配置文档
  • win10.64位wnmp-nginx1.14.0 + PHP 5. 6.36 + MySQL 5.5.59 环境配置搭建
  • Mysql数据库备份恢复
  • Win10 VirtualBox虚拟机搭建lnmp环境
  • PHP Warning: File upload error - unable to create a temporary file in Unknown
  • PHP Warning: File upload error - unable to create a temporary file in Unknown
  • hublider配置php环境(wamp、phpstudy,php工具箱...)
  • php 微信支付
  • 搭建phpStrom2018+wampServer 基本开发环境设置
  • PHP获取客户端信息
  • php -- 取路径:getcwd()、__DIR__、__FILE__ 的区别
  • ThinkPHP生成小程序二维码
  • ThinkPHP笔记18——模板继承(重要)
  • PHP后台如何处理base64图片
  • PHP后台如何处理base64图片
  • 明明已经开启php_openssl.dll,仍提示php_openssl.dll required.
  • Wamp apache2.4.9升级php5.5.12到5.6中问题汇总
  • php上传 找不到临时文件夹(解决方法)
  • AngularJS+php+less相关笔记(四)
  • PhpStudy20180211 安装后不能访问localhost的解决办法
  • PHPmemcache安装以及使用
  • php表单信息与文件一同异步上传
  • PHP的thinkphp框架添加百度UEditor富文本编辑器
  • 手动搭建PHP开发环境
  • PHP生成zip压缩包
  • php创建文件夹
  • PHP将Base64图片转换为本地图片并保存
  • PHP编译安装扩展
  • php将文件夹内的图片输出到前端页面上
  • ThinkPHP 3.2 框架(一)
  • php将文件夹内的图片输出到前端页面上
  • php 遍历一个文件夹下的所有文件和子文件
  • docker compose 安装PHP nginx
  • win10.64位wnmp-nginx1.14.0 + PHP 5. 6.36 + MySQL 5.5.59 环境配置搭建
  • php 利用迭代器遍历文件夹
  • nginx+keepalived使用文档
  • nginx+二级域名+https支持
  • 使用nginx+tomcat实现静态和动态页面的分离
  • TPshop5最新版 安装 nginx 开启PATHINFO 模式资源加载路径加载失败问题,适用tp3.2PATHINFO模式REWRITE模式
  • Nginx笔记(五)----Nginx+Lua+GraphicsMagick实现图片自动裁剪/缩放、以及定时清理生成的缩略图
  • nginx使用记录
  • 常用函数-wp_mkdir_p()
  • WordPress升级
  • WordPress升级指南
  • WordPress版本信息
  • 创建WordPress自身目录
  • phpMyAdmin
  • 迁移WordPress
  • 乾柴烈火!9个跟他爱爱的好理由
  • 男友看球赛时边开战的5体位 逗得他色慾薰心把玩妳胸前那两球
  • 帝国CMS在本地电脑Windows部署、安装测试网站图文教程(图文)
  • 只谈天气:未吃五月粽,寒衣未好送
  • 博客升级到WordPress3.0
  • [升级固件]佳能EOS 7D单反相机固件最新版本2.0.3
  • 安装WordPress 后你应该做的25 件事
  • 升级Ubuntu最新版本命令sudo do-release-upgrade -d
  • WordPress/DEDE/帝国CMS现在哪一个?博客,企业站,垃圾站,英文网站
  • 发表评论

    用户名: 密码:
    验证码: 匿名发表

    你可以使用这些语言

    查看评论:用Subversion安装/升级WordPress