阶段四:麒麟+达梦部署政务办公系统

任务背景

某政府机构计划开发一套全新的政务办公系统,以实现公文管理、流程审批、数据共享和安全通信的数字化转型。为响应国家信息安全和自主可控战略,系统将部署在国产麒麟操作系统上,并采用国产达梦数据库(DM8)作为核心数据存储平台。

政务办公系统需处理高并发访问、敏感数据存储和严格的合规性要求,同时确保系统部署期间不影响现有办公流程。部署过程涉及麒麟操作系统的环境配置、达梦数据库的安装与优化、应用系统开发与集成,以及数据初始化和安全策略实施。为确保系统稳定性和数据安全性,需设计一个全面的方案,涵盖环境搭建、数据库部署、应用适配和上线过渡。

任务拆解

硬件与系统评估

达梦数据库部署

系统上线认证

时间规划表

政务办公系统概述

O2OA(翱途)低代码开发平台,100%开源企业协同办公定制平台,提供完整的前后端API和模块定制能力。平台基于JavaEE分布式架构,具备流程引擎、表单定制、页面定制能力及业务数据服务能力,支持跨平台移动办公,有效提升工作效率。

平台通过国产信创认证,支持白标二次开发,提供高度灵活的协同办公解决方案,低成本满足企业办公需求。低代码开发大幅降低技术门槛,加速系统构建与定制,赋能企业快速响应业务实现,确保信息安全与自主可控。

image

政务办公系统官方网站

官网: http://www.o2oa.net

支持的操作系统

Windows 64Bit, Linux 64Bit[CentOS, RedHat, Ubuntu等], MacOS, AIX, Raspberrypi(树莓派), ARM_Linux, MIPS_Linux, UOS,麒麟等国产操作系统

支持的数据库

O2OA通过openjpa默认支持以下数据库:

Database NameDatabase VersionJDBC Driver NameJDBC Driver Version
Apache Derby10.1.2.1Apache Derby Embedded JDBC Driver10.1.2.1
Borland Interbase7.1.0.202Interclient4.5.1
Borland JDataStore6.0Borland JDataStore6.0
DB28.1IBM DB2 JDBC Universal Driver1.0.581
Empress8.62Empress Category 2 JDBC Driver8.62
Firebird1.5JayBird JCA/JDBC driver1.0.1
H2 Database Engine1.0H21.0
Hypersonic Database Engine1.8.0Hypersonic1.8.0
Informix Dynamic Server9.30.UC10Informix JDBC driver2.21.JC2
InterSystems Cache5.0Cache JDBC Driver5.0
Microsoft Access9.0 (a.k.a. "2000")DataDirect SequeLink5.4.0038
Microsoft SQL Server9.00.1399 (SQL Server 2005)SQLServer1.0.809.102
Microsoft Visual FoxPro7.0DataDirect SequeLink5.4.0038
MySQL5.0.26MySQL Driver3.0.14
Oracle8.1,9.2,10.1Oracle JDBC driver10.2.0.1.0
Pointbase4.4Pointbase JDBC driver4.4 (4.4)
PostgreSQL7.2.1PostgreSQL Native Driver8.1
PostgreSQL8.1.5PostgreSQL Native Driver8.1
Sybase Adaptive Server Enterprise12.5jConnect5.5 (5.5)

国产数据库支持

对与国产数据库的支持是对不同的数据库编写不同的适配方言来实现的,也就是通过定制DBDictionary来实现对接。

目前成功适配的国产数据库如下:

数据库方言
达梦com.x.base.core.openjpa.jdbc.sql.DMDictionary
南大通用8scom.x.base.core.openjpa.jdbc.sql.GBaseDictionary
南大通用华库(mysql5)com.x.base.core.openjpa.jdbc.sql.GBaseMySQL5Dictionary
南大通用华库(mysql8)com.x.base.core.openjpa.jdbc.sql.GBaseMySQLDictionary
人大金仓V7com.x.base.core.openjpa.jdbc.sql.KingbaseDictionary
人大金仓V8com.x.base.core.openjpa.jdbc.sql.Kingbase8Dictionary
人大金仓V8R6com.x.base.core.openjpa.jdbc.sql.Kingbase8R6Dictionary
神通数据库com.x.base.core.openjpa.jdbc.sql.OscarDictionary
各种PostgreSQL改造版本org.apache.openjpa.jdbc.sql.PostgresDictionary

方案一:在Linux系统中部署O2OA政务办公系统

O2OA政务办公系统支持公有云,私有云和混合云部署,也支持复杂的网络结构下的分布式部署。O2OA政务办公系统安装部署非常方便,只需要简单的三步即可完成安装。平台内部集成了多项管理命令,可以进行系统升级,管理员密码修改,数据导出恢复等管理操作。

查看CPU版本

执行命令:arch

运行效果:

image

根据服务器芯片架构选择合适的O2OA服务器版本下载

如果是X86_64 下载 Linux 版

如果是aarch64 下载 ARM 版

如果是mips64 下载MIPS版

下载安装包

安装包下载地址:http://www.o2oa.net/download.html

image

解压安装包

以Linux-x64为例:

先进入压缩包所在目录,然后执行解压命令:unzip o2server-8.2.3-linux-x64.zip

启动服务器

进入o2server目录,然后执行命令:./start_linux.sh 启动服务器,如下图:

image

当出现如下界面时,则启动成功:

image

打开浏览器,可通过访问IP+端口号的形式,登陆O2OA平台,访问服务器初始化页面:

第一步:初始化管理员(xadmin)密码,如下图所示界面

image

请注意:

O2OA V8.1之后,系统将不存在默认密码,新设置的管理员密码请一定牢记(写到小本本上)。

由于权限过大,管理员密码丢失之后将无法找回。

输入管理员密码,并且确认密码后,点击“下一步”,开始设置系统连接的数据库,如下图所示:

image

在此界面,可以选择H2内置数据库,也可以使用其他的数据库,O2OA可以支持的数据库有很多,不限于系统所展现出来的这些。

如果选择MySQL数据库,则可以填写数据库连接字符串(可以百度一下MySQL的数据库连接信息),如下图所示:

image

如果是达梦数据库,则可以填写达梦数据库连接字符串(jdbc:dm://192.168.88.102:5236),更改为达梦数据库连接:

image

数据库信息设置完成之后,点击“下一步”进行数据初始化工作,如下图所示:

image

O2OA V8.1支持在启动过程中恢复之前系统备份出来的数据,这样在系统启动完成之后,系统将包含所恢复的数据内容。(在此处略过数据恢复的操作过程,以后再其他文档里进行相关说明)。如果没有需要恢复的数据,可以点击“下一步”,系统会给出初始化信息总结,如下图所示:

image

确认初始化信息无误之后,点击执行,系统将继续启动服务器,并且完成管理员所选择的初始化内容,直到系统全部完成启动,如下图所示:

image

服务器初始化完成,如下图所示:

image

系统初始化完成之后,点击“进入系统登录页面”来访问系统,如下图所示:

image

使用管理员账号登录系统(账号:xadmin,密码:自定义的密码),如下图所示:

image

服务器字体问题

如果出现验证码的图片出现不了或者后台报字体错误,有可能是因为系统的字体包导致的,需要安装一下字体包

image

或者后台报字体错误

image

使用的时候报这个错,是因为缺少字体,使用yum对其进行安装即可

yum install -y fontconfig
yum install -y urw-fonts

命令作用:

执行结果:

关键参数:

注意事项:

如果启动后的控制台窗口仍然存在,直接在控制台输入stop即可,过程与windows环境类似。

image

如果控制台已经关闭,o2server进程在后台执行

1)打开命令控制台,执行命令:


![](/assets/feishu-images/f65c9923142c8ec53e885791.png)

查询到进程号,使用kill指定o2server进程

**关键参数:**

**注意事项:**






命令拆解:

命令部分重要程度详细解释
--now普通要管理的 systemd 服务名称 --now,例如 dockernginxsshd
podman.socket普通要管理的 systemd 服务名称 podman.socket,例如 dockernginxsshd
2>/dev/null普通要管理的 systemd 服务名称 2>/dev/null,例如 dockernginxsshd
||普通要管理的 systemd 服务名称 ||,例如 dockernginxsshd

注意事项:

仓库地址:https://hub.docker.com/u/o2oa

具体仓库地址如下:

如无法访问dockerhub仓库可以选择使用国内镜像站点。

命令说明:

关键参数说明
--name该选项会改变命令的查询范围或输出格式。
-i该选项会改变命令的查询范围或输出格式。
-t只查看 TCP 连接/端口。
-p显示占用端口的进程信息(通常需要 root 权限)。
image

请注意:

由于权限过大,管理员密码丢失之后将无法找回。

输入管理员密码,并且确认密码后,点击“下一步”,如下图所示:

image

在此界面,数据库已默认初始化,使用MySql数据库(也可以使用其他的数据库,O2OA可以支持的数据库有很多,不限于系统所展现出来的这些)

数据库信息设置完成之后,点击“下一步”进行数据初始化工作,如下图所示:

image
image

确认初始化信息无误之后,点击执行,系统将继续启动服务器,并且完成管理员所选择的初始化内容,直到系统全部完成启动,如下图所示:

image

服务器初始化完成,如下图所示:

image

系统初始化完成之后,点击“进入系统登录页面”来访问系统,如下图所示:

image

使用管理员账号登录系统(账号:xadmin,密码:自定义的密码),如下图所示:

image

pull指定的镜像

在能够访问dockerhub的计算机上安装docker环境,并运行以下命令拉取镜像:

命令拆解:

命令部分重要程度详细解释
o2oa/o2server普通o2oa/o2server 是 Docker save 的目标或参数;它决定当前动作实际处理的镜像、容器、网络、数据卷或 Compose 服务。
>普通> 是 Docker save 的目标或参数;它决定当前动作实际处理的镜像、容器、网络、数据卷或 Compose 服务。
image_o2server.tar普通image_o2server.tar 是 Docker save 的目标或参数;它决定当前动作实际处理的镜像、容器、网络、数据卷或 Compose 服务。

注意事项:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `<` | 【普通】 | 输入重定向,把文件内容作为前一个命令的标准输入。 |
| `image_o2server.tar` | 【普通】 | `image_o2server.tar` 是 Docker `load` 的目标或参数;它决定当前动作实际处理的镜像、容器、网络、数据卷或 Compose 服务。 |

**注意事项:**




参考地址:https://www.o2oa.net/download.html


命令拆解:

命令部分重要程度详细解释
-f必看指定要读取或操作的 YAML 文件。
o2server-deployment.yaml普通配置文件路径,命令会读取这个文件里的配置。

注意事项:

命令拆解:

命令部分重要程度详细解释
-f必看指定要读取或操作的 YAML 文件。
o2server-deployment.yaml普通配置文件路径,命令会读取这个文件里的配置。

注意事项: