FlowCore 工作流 - Linux 部署 FlowCore 3.0(系统环境和软件配置)
重要
FlowCore 3.0 使用全球最佳编程语言 C# 构建(.NET 跨平台、高性能、开源免费)。FlowCore 包含自托管 Kestrel Web 服务器,Kestrel 可以单独使用,也可以与反向代理服务器一起使用。
FlowCore 应用程序 runroot 文件夹中包含应用程序目录结构。
FlowCore 在 Linux 上从 runroot/FlowCore.dll 文件启动。
本文教程演示命令适用于 Ubuntu 24.04, 22.04, 20.04 和 Debian 12.x, 11.x。
在 Linux 上,建议使用的托管方式:
l使用 Systemd 托管 FlowCore
l使用 Nginx 托管 FlowCore
l使用 Apache 托管 FlowCore
l使用 Nginx 托管 FlowCore
l使用 Apache 托管 FlowCore
(1)部署 FlowCore 程序文件
1.1 下载 FlowCore 3.0 程序包
www.paioffice.com/flowcore/downloads
Linux 命令
解开 FlowCore 程序包,移动 approot 到目标部署路径,例如 /flowcore。
sudo unzip FlowCore-3.x.zip
1.2 安装字体
安装字体管理工具适用于 Ubuntu 24.04, 22.04, 20.04 和 Debian 12.x, 11.xLinux 命令sudo apt-get install fontconfig
复制 /flowcore/fonts 文件夹下的全部字体文件到 /usr/share/fonts。
Linux 命令
sudo cp -rf /flowcore/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
1.4 设置 FlowCore 目录结构的文件系统权限
执行 chmod 命令,设置文件系统权限。
Linux 命令
sudo chmod -R 444 /flowcore/fonts sudo chmod -R 666 /flowcore/license sudo chmod -R 555 /flowcore/runroot sudo chmod -R 666 /flowcore/storagePath sudo chmod -R 666 /flowcore/temp sudo chmod 444 /flowcore/certarchive.json sudo chmod 444 /flowcore/cloudstorage.json sudo chmod 444 /flowcore/database.json
FlowCore 3.0 目录结构的文件系统权限。
目录/文件 | 文件系统权限 | chmod 权限 | 用途 |
/fonts | 读取 | 444 | 字体文件 |
/license | 完全控制 | 666 | 存储许可证文件 |
/runroot | 读取和执行 | 555 | 应用程序目录结构 |
/storagePath | 完全控制 | 666 | 存储路径 |
/temp | 完全控制 | 666 | 临时文件夹 |
certarchive.json | 读取 | 444 | 数字存档(数字证书配置) |
cloudstorage.json | 读取 | 444 | 云存储配置 |
database.json | 读取 | 444 | 配置数据库连接 |
(2)安装数据库 Microsoft SQL Server 或 PostgreSQL
FlowCore 3.0 支持三种数据库。
使用 SQL Server 查询分析器,创建 FlowCore 数据库结构(依次执行 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 数据库
FlowCore 程序包 database-sql-statements 文件夹下,包含创建数据库结构的 SQL 语句。
使用 SQL Server 管理器,新建数据库 FlowCore(数据库名称可以自定义),你需要在创建数据库时,确认 SQL Server 数据库排序规则。
使用 SQL Server 管理器,选择数据库 >> 属性 >> 选项,确认数据库排序规则。
适用于中国大陆(简体中文)默认排序规则通常为 Chinese_PRC_CI_AS。
SQL Server 数据库 简体中文的排序规则
使用 SQL Server 管理器,选择数据库 >> 属性 >> 选项,确认数据库排序规则。
适用于中国大陆(简体中文)默认排序规则通常为 Chinese_PRC_CI_AS。
使用 SQL Server 查询分析器,创建 FlowCore 数据库结构(依次执行 SQL 语句 microsoft-sqlserver....sql)。
1、系统核心数据结构。
microsoft-sqlserver_core.sql2、 基本的演示工作流程(流程设计和表单模板)。
microsoft-sqlserver_demo.sql3、可选。更多的演示工作流程(流程设计和表单模板)。
microsoft-sqlserver_zh-cn_sample.sql
2.3 使用 PostgreSQL 数据库。
FlowCore 程序包 database-sql-statements 文件夹下,包含创建数据库结构的 SQL 语句。
使用 PostgreSQL - pgAdmin,创建 FlowCore 数据库结构(依次执行 SQL 语句 postgresql....sql)。
1、系统核心数据结构。
1、系统核心数据结构。
postgresql_core.sql2、基本的演示工作流程(流程设计和表单模板)。
postgresql_demo.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=FlowCore;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60", "PostgreSQL": "Database=FlowCore;Host=localhost;Username=postgres;Password=YourPassword" } }
使用 PostgreSQL 数据库
{ "DatabaseType": "PostgreSQL", "ConnectionStrings": { "SQLServer": "database=FlowCore;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60", "PostgreSQL": "Database=FlowCore;Host=localhost;Username=postgres;Password=YourPassword" } }