派胜OA - Linux 部署 ExpressOA 3.x(系统环境和软件配置)
重要
ExpressOA 3.x 使用全球最佳编程语言 C# 构建(.NET 跨平台、高性能、开源免费)。ExpressOA 包含自托管 Kestrel Web 服务器,Kestrel 可以单独使用,也可以与反向代理服务器一起使用。
ExpressOA 应用程序 runroot 文件夹中包含应用程序目录结构。
ExpressOA 在 Linux 上从 runroot/ExpressOA.dll 文件启动。
本文教程演示命令适用于 Ubuntu 24.04, 22.04, 20.04 和 Debian 12.x, 11.x。
在 Linux 上,建议使用的托管方式:
1.3 安装依赖程序
复制 /expressoa/fonts 文件夹下的全部字体文件到 /usr/share/fonts。
更新字体
查看字体
ExpressOA 3.x 目录结构的文件系统权限。
l使用 Systemd 托管 ExpressOA
l使用 Nginx 托管 ExpressOA
l使用 Nginx 托管 ExpressOA
ExpressOA® Lite 版本不需要下列步骤:
1.2 安装字体1.3 安装依赖程序
(1)部署 ExpressOA 程序文件
1.1 下载 ExpressOA 3.x 程序包
www.paioffice.com/expressoa/downloads
Linux 命令
解开 ExpressOA 程序包,移动 approot 到目标部署路径,例如 /expressoa。
sudo unzip ExpressOA-3.x.zip
1.2 安装字体
安装字体管理工具适用于 Ubuntu 24.04, 22.04, 20.04 和 Debian 12.x, 11.xLinux 命令sudo apt-get install fontconfig
适用于 openEuler 24.03 LTS, 22.03 LTSLinux 命令sudo dnf -y install fontconfig
复制 /expressoa/fonts 文件夹下的全部字体文件到 /usr/share/fonts。
Linux 命令
sudo cp -rf /expressoa/fonts/* /usr/share/fonts
更新字体
Linux 命令
sudo fc-cache -f -v
查看字体
Linux 命令
sudo fc-list
1.3 安装依赖程序
适用于 Ubuntu 24.04, 22.04, 20.04 和 Debian 12.x, 11.xLinux 命令sudo apt-get update sudo apt-get install xvfbLinux 命令sudo apt-get install -y libqt5webkit5
适用于 openEuler 24.03 LTS, 22.03 LTSLinux 命令sudo dnf -y install XvfbLinux 命令sudo dnf -y install qt5-qtwebkit
1.4 设置 ExpressOA 目录结构的文件系统权限
执行 chmod 命令,设置文件系统权限。
ExpressOA® Core
ExpressOA® Lite
Linux 命令
sudo chmod -R 444 /expressoa/fonts sudo chmod -R 666 /expressoa/license sudo chmod -R 555 /expressoa/runroot sudo chmod -R 666 /expressoa/storageRoot sudo chmod -R 666 /expressoa/temp sudo chmod 444 /expressoa/certarchive.json sudo chmod 444 /expressoa/cloudstorage.json sudo chmod 444 /expressoa/database.json
ExpressOA 3.x 目录结构的文件系统权限。
ExpressOA® Core
ExpressOA® Lite
目录/文件
文件系统权限
chmod 权限
用途
/fonts
读取
444
字体文件
/license
完全控制
666
存储许可证文件
/runroot
读取和执行
555
应用程序目录结构
/storageRoot
完全控制
666
存储路径
/temp
完全控制
666
临时文件夹
certarchive.json
读取
444
数字存档(数字证书配置)
cloudstorage.json
读取
444
云存储配置
database.json
读取
444
配置数据库连接
(2)安装数据库 Microsoft SQL Server 或 PostgreSQL
ExpressOA 3.x 支持三种数据库。
使用 SQL Server 查询分析器,创建 ExpressOA 数据库结构(依次执行 SQL 语句 microsoft-sqlserver....sql)。
1、系统核心数据结构。
lSQL Server 2022, 2019, 2017
lSQL Server Express 2022, 2019, 2017(免费商用)
lPostgreSQL 17, 16, 15, 14, 13, 12(免费商用)
lSQL Server Express 2022, 2019, 2017(免费商用)
lPostgreSQL 17, 16, 15, 14, 13, 12(免费商用)
2.1 安装 Microsoft SQL Server 或 PostgreSQL数据库
Ubuntu 24.04, 22.04, 20.04
在 Ubuntu 上安装 SQL Server 并创建数据库
在 Ubuntu 上安装 PostgreSQL
Debian 12.x, 11.x
How to Install PostgreSQL on Debian 12
在 Ubuntu 上安装 SQL Server 并创建数据库
在 Ubuntu 上安装 PostgreSQL
Debian 12.x, 11.x
How to Install PostgreSQL on Debian 12
2.2 使用 SQL Server 数据库
ExpressOA 程序包 database-sql-statements 文件夹下,包含创建数据库结构的 SQL 语句。
使用 SQL Server 管理器,新建数据库 ExpressOA(数据库名称可以自定义)。
使用 SQL Server 管理器,选择数据库 >> 属性 >> 选项,确认数据库排序规则为 Chinese_PRC_CI_AS(简体中文)。
SQL Server 数据库 简体中文的排序规则
使用 SQL Server 管理器,选择数据库 >> 属性 >> 选项,确认数据库排序规则为 Chinese_PRC_CI_AS(简体中文)。
使用 SQL Server 查询分析器,创建 ExpressOA 数据库结构(依次执行 SQL 语句 microsoft-sqlserver....sql)。
1、系统核心数据结构。
microsoft-sqlserver_core.sql2、 基本的演示工作流程(流程设计和表单模板)。
microsoft-sqlserver_demo.sql3、可选。更多的演示工作流程(流程设计和表单模板)。
microsoft-sqlserver_workflow_sample.sql
2.3 使用 PostgreSQL 数据库。
ExpressOA 程序包 database-sql-statements 文件夹下,包含创建数据库结构的 SQL 语句。
使用 PostgreSQL - pgAdmin,创建 ExpressOA 数据库结构(依次执行 SQL 语句 postgresql....sql)。
1、系统核心数据结构。
1、系统核心数据结构。
postgresql_core.sql2、基本的演示工作流程(流程设计和表单模板)。
postgresql_demo.sql3、可选。更多的演示工作流程(流程设计和表单模板)。
postgresql_workflow_sample.sql
(3)配置 SQL Server 或 PostgreSQL 数据库连接
使用记事本打开 database.json 配置数据库连接信息。
使用 SQL Server 数据库:DatabaseType 为 【空字符串】 或 【SQLServer】。
使用 PostgreSQL 数据库:DatabaseType 为【PostgreSQL】。
使用 PostgreSQL 数据库
使用 SQL Server 数据库:DatabaseType 为 【空字符串】 或 【SQLServer】。
使用 PostgreSQL 数据库:DatabaseType 为【PostgreSQL】。
重要:在 json 配置文件中,使用两个 \\ 代表一个 \。
DatabaseType 为空,使用 SQLServer 数据库
{ "DatabaseType": "", "ConnectionStrings": { "SQLServer": "database=ExpressOA;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60", "PostgreSQL": "Database=ExpressOA;Host=localhost;Username=postgres;Password=YourPassword" } }
使用 PostgreSQL 数据库
{ "DatabaseType": "PostgreSQL", "ConnectionStrings": { "SQLServer": "database=ExpressOA;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60", "PostgreSQL": "Database=ExpressOA;Host=localhost;Username=postgres;Password=YourPassword" } }