阶段四:麒麟+达梦部署政务办公系统
任务背景
某政府机构计划开发一套全新的政务办公系统,以实现公文管理、流程审批、数据共享和安全通信的数字化转型。为响应国家信息安全和自主可控战略,系统将部署在国产麒麟操作系统上,并采用国产达梦数据库(DM8)作为核心数据存储平台。
政务办公系统需处理高并发访问、敏感数据存储和严格的合规性要求,同时确保系统部署期间不影响现有办公流程。部署过程涉及麒麟操作系统的环境配置、达梦数据库的安装与优化、应用系统开发与集成,以及数据初始化和安全策略实施。为确保系统稳定性和数据安全性,需设计一个全面的方案,涵盖环境搭建、数据库部署、应用适配和上线过渡。
任务拆解
硬件与系统评估
- 确认服务器硬件支持麒麟操作系统(如龙芯、飞腾或x86架构,内存≥16GB,存储支持RAID)。
- 选择麒麟操作系统最新稳定版(如银河麒麟V10),启用安全加固配置(如防火墙、内核参数优化)。
- 验证达梦数据库DM8的硬件和操作系统兼容性,确保支持所需功能(如分布式事务、高可用集群)。
达梦数据库部署
- 在麒麟操作系统上通过达梦官方安装包部署DM8,选用适合政务场景的版本(如企业版)。
- 配置数据库参数(如内存分配、字符集UTF-8、日志模式),优化高并发性能。
- 启用DM8数据库高可用,确保故障切换无感知(可选)。
系统上线认证
- 上线验证:
- 使用DM8的监控工具(如DMConsole)检查数据库性能指标(CPU、I/O、锁等待)。
- 验证数据完整性,比较导入数据与源数据的记录数和关键字段。
- 审计系统日志,确保无未授权访问或异常操作。
- 用户培训与过渡:
- 为政府员工提供系统操作培训,重点讲解新系统的公文上传、审批流程和安全注意事项。
- 提供过渡期支持,允许用户在旧系统和新系统间切换,确保业务连续性。
时间规划表
- 第1周:环境评估、麒麟操作系统安装、测试环境搭建。
- 第2周:DM8部署、数据库初始化、应用开发与集成。
- 第3周:系统测试、用户培训、分阶段部署。
- 第4周:全面上线、性能验证、旧系统过渡。
---
政务办公系统概述
O2OA(翱途)低代码开发平台,100%开源企业协同办公定制平台,提供完整的前后端API和模块定制能力。平台基于JavaEE分布式架构,具备流程引擎、表单定制、页面定制能力及业务数据服务能力,支持跨平台移动办公,有效提升工作效率。
平台通过国产信创认证,支持白标二次开发,提供高度灵活的协同办公解决方案,低成本满足企业办公需求。低代码开发大幅降低技术门槛,加速系统构建与定制,赋能企业快速响应业务实现,确保信息安全与自主可控。

政务办公系统官方网站
支持的操作系统
Windows 64Bit, Linux 64Bit[CentOS, RedHat, Ubuntu等], MacOS, AIX, Raspberrypi(树莓派), ARM_Linux, MIPS_Linux, UOS,麒麟等国产操作系统
支持的数据库
O2OA通过openjpa默认支持以下数据库:
| Database Name | Database Version | JDBC Driver Name | JDBC Driver Version |
|---|---|---|---|
| Apache Derby | 10.1.2.1 | Apache Derby Embedded JDBC Driver | 10.1.2.1 |
| Borland Interbase | 7.1.0.202 | Interclient | 4.5.1 |
| Borland JDataStore | 6.0 | Borland JDataStore | 6.0 |
| DB2 | 8.1 | IBM DB2 JDBC Universal Driver | 1.0.581 |
| Empress | 8.62 | Empress Category 2 JDBC Driver | 8.62 |
| Firebird | 1.5 | JayBird JCA/JDBC driver | 1.0.1 |
| H2 Database Engine | 1.0 | H2 | 1.0 |
| Hypersonic Database Engine | 1.8.0 | Hypersonic | 1.8.0 |
| Informix Dynamic Server | 9.30.UC10 | Informix JDBC driver | 2.21.JC2 |
| InterSystems Cache | 5.0 | Cache JDBC Driver | 5.0 |
| Microsoft Access | 9.0 (a.k.a. "2000") | DataDirect SequeLink | 5.4.0038 |
| Microsoft SQL Server | 9.00.1399 (SQL Server 2005) | SQLServer | 1.0.809.102 |
| Microsoft Visual FoxPro | 7.0 | DataDirect SequeLink | 5.4.0038 |
| MySQL | 5.0.26 | MySQL Driver | 3.0.14 |
| Oracle | 8.1,9.2,10.1 | Oracle JDBC driver | 10.2.0.1.0 |
| Pointbase | 4.4 | Pointbase JDBC driver | 4.4 (4.4) |
| PostgreSQL | 7.2.1 | PostgreSQL Native Driver | 8.1 |
| PostgreSQL | 8.1.5 | PostgreSQL Native Driver | 8.1 |
| Sybase Adaptive Server Enterprise | 12.5 | jConnect | 5.5 (5.5) |
国产数据库支持
对与国产数据库的支持是对不同的数据库编写不同的适配方言来实现的,也就是通过定制DBDictionary来实现对接。
目前成功适配的国产数据库如下:
| 数据库 | 方言 |
|---|---|
| 达梦 | com.x.base.core.openjpa.jdbc.sql.DMDictionary |
| 南大通用8s | com.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 |
| 人大金仓V7 | com.x.base.core.openjpa.jdbc.sql.KingbaseDictionary |
| 人大金仓V8 | com.x.base.core.openjpa.jdbc.sql.Kingbase8Dictionary |
| 人大金仓V8R6 | com.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运行效果:

根据服务器芯片架构选择合适的O2OA服务器版本下载
如果是X86_64 下载 Linux 版
如果是aarch64 下载 ARM 版
如果是mips64 下载MIPS版
下载安装包
安装包下载地址:http://www.o2oa.net/download.html

解压安装包
以Linux-x64为例:
先进入压缩包所在目录,然后执行解压命令:unzip o2server-8.2.3-linux-x64.zip
启动服务器
进入o2server目录,然后执行命令:./start_linux.sh 启动服务器,如下图:

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

打开浏览器,可通过访问IP+端口号的形式,登陆O2OA平台,访问服务器初始化页面:
第一步:初始化管理员(xadmin)密码,如下图所示界面

请注意:
O2OA V8.1之后,系统将不存在默认密码,新设置的管理员密码请一定牢记(写到小本本上)。
由于权限过大,管理员密码丢失之后将无法找回。
输入管理员密码,并且确认密码后,点击“下一步”,开始设置系统连接的数据库,如下图所示:

在此界面,可以选择H2内置数据库,也可以使用其他的数据库,O2OA可以支持的数据库有很多,不限于系统所展现出来的这些。
如果选择MySQL数据库,则可以填写数据库连接字符串(可以百度一下MySQL的数据库连接信息),如下图所示:

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

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

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

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

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

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

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

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

或者后台报字体错误

使用的时候报这个错,是因为缺少字体,使用yum对其进行安装即可
yum install -y fontconfig
yum install -y urw-fonts命令作用:
- 使用
yum包管理器执行install操作,对软件包进行安装、更新、删除或查询。
执行结果:
- 成功后软件包会按指定动作完成安装、更新、删除或查询;失败时检查仓库、网络和权限。
关键参数:
注意事项:
如果启动后的控制台窗口仍然存在,直接在控制台输入stop即可,过程与windows环境类似。

如果控制台已经关闭,o2server进程在后台执行
1)打开命令控制台,执行命令:

查询到进程号,使用kill指定o2server进程
**关键参数:**
**注意事项:**
命令拆解:
| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
--now | 普通 | 要管理的 systemd 服务名称 --now,例如 docker、nginx 或 sshd。 |
podman.socket | 普通 | 要管理的 systemd 服务名称 podman.socket,例如 docker、nginx 或 sshd。 |
2>/dev/null | 普通 | 要管理的 systemd 服务名称 2>/dev/null,例如 docker、nginx 或 sshd。 |
|| | 普通 | 要管理的 systemd 服务名称 ||,例如 docker、nginx 或 sshd。 |
注意事项:
仓库地址:https://hub.docker.com/u/o2oa
---
具体仓库地址如下:
如无法访问dockerhub仓库可以选择使用国内镜像站点。
命令说明:
| 关键参数 | 说明 |
|---|---|
--name | 该选项会改变命令的查询范围或输出格式。 |
-i | 该选项会改变命令的查询范围或输出格式。 |
-t | 只查看 TCP 连接/端口。 |
-p | 显示占用端口的进程信息(通常需要 root 权限)。 |

请注意:
由于权限过大,管理员密码丢失之后将无法找回。
输入管理员密码,并且确认密码后,点击“下一步”,如下图所示:

在此界面,数据库已默认初始化,使用MySql数据库(也可以使用其他的数据库,O2OA可以支持的数据库有很多,不限于系统所展现出来的这些)
数据库信息设置完成之后,点击“下一步”进行数据初始化工作,如下图所示:


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

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

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

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

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 | 普通 | 配置文件路径,命令会读取这个文件里的配置。 |
注意事项:
本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。