制作轻论坛升级包

用户基于轻论坛系统二次开发后,轻论坛项目代码已和官网发布的不同,官网的升级包已不适合用户的项目升级,用户需要定制自己的升级包。轻论坛管理后台自带升级接口,只要上传指定结构的升级包,就能轻松将轻论坛升级到指定版本。本教程以轻论坛4.6版本升级到4.7版本为例。


升级包为zip文件,下面用bbs-4.6to4.7.zip为例讲解升级包结构

				
					/4.6to4.7
					|-- cms
					|   |-- backstage
					|   |-- common
					|   |-- WEB-INF
					|   |-- ......
					|   |-- ......
					|   `-- ......
					|-- config.properties
					`-- signature.pem
				
			

4.6to4.7:4.6为旧轻论坛版本;4.7为新旧轻论坛版本

cms:本目录下的文件为轻论坛的更新文件

config.properties:升级配置文件

signature.pem:轻论坛升级压缩包内所有文件的签名加密后的字符



制作升级包步骤

1、在轻论坛项目\src\main\java\cms\web\action\upgrade\impl\ 下增加类Upgrade4_6to4_7.java(注意文件名对应的版本号)。类的方法run调用升级新版本要改动的数据结构转换方法,例如数据库字段值改变等。


2、打开轻论坛项目\src\main\webapp\WEB-INF\data\systemVersion.txt文件,将里面的版本号改为新的版本号。


3、在硬盘上新建空白的目录结构。


4、将项目源码打包导出war文件。


5、解压war文件,将有需要更新的文件夹或文件复制到cms目录里面,路径结构保持原状。


6、修改config.properties升级配置文件,按照固定的格式填写参数值。(注意本文件保存格式为UTF-8无BOM)

				
					#旧版本
					oldSystemVersion=4.6
					#升级包版本
					updatePackageVersion=update4.7
					#新版本
					newSystemVersion=4.7
					#排序 格式: 4位年 + 2位月 + 2位日 + 2位时 + 2位分
					sort=202006300000
					#说明
					explanation=1.增加修改问题答案功能。<br>2.增加修改问题答案回复功能。<br>3.增加只读模式设置。<br>4.前台手机端提问题标签选择优化。<br>5.前台手机端用户中心功能优化。<br>6.修复移动端动态不能分页错误。<br>7.管理后台升级模块增加RSA签名验证。<br>8.修复话题评论回复免审核判断错误。<br>9.富文本增加插入代码功能。<br>10.允许注册用户类型增加微信设置。<br>
					
					
					#删除文件 路径分割符/  路径为cms下面路径  不能以分割符开头。 delete_{编号}的编号不能重复,如果没有需要删除的文件可以将参数注释掉
					delete_1=common/default/pc/js/syntaxhighlighter/
					delete_2=backstage/syntaxhighlighter/
					delete_3=backstage/codeMirror/util/
				
			

7、将压缩包的文件签名。本步骤非强制性,用户可以根据自身情况决定是否启用本功能

如果项目下\WEB-INF\classes\upgradePublicKey.pem文件存在,则自动启用签名验证功能,如果不需要验证签名,可以将upgradePublicKey.pem文件删除

使用第三方生成密钥工具,生成RSA密钥。RSA密钥长度:2048 密钥格式:PKCS#8 没有证书密码。(第三方生成密钥工具:OpenSSL工具、各种在线生成RSA私钥公钥网站)

在硬盘上新建文件upgradePrivateKey.pem,将生成的私钥保存在文件中。pem文件必须保存为“UTF-8无BOM” 格式。


在论坛目录\WEB-INF\classes\下,新建文件upgradePublicKey.pem,将生成的公钥保存在文件中。(upgradePublicKey.pem文件放在Tomcat中的论坛项目目录下,不是升级包下的目录)pem文件必须保存为“UTF-8无BOM” 格式。




将制作好的升级项目打包为zip文件。


用Eclipse或IDEA打开\src\test\java\utils\UpdatePackageSignature.java文件,修改合适的运行环境参数,执行main方法运行


运行完成后会生成bbs-4.6to4.7_2020-06-28-21-05_736169.zip文件,升级包制作完成。


bbs-4.6to4.7_2020-06-28-21-05_736169.zip文件已成功写入signature.pem签名验证文件。


升级包具体使用方法可以参考升级包使用教程




如果执行签名验证,升级时会有提示。