派胜OA - Windows 部署 ExpressOA Elite v3.10(系统环境配置)
ExpressOA Elite v3.10 使用全球最佳编程语言 C# 构建(.NET 跨平台、高性能、开源免费)。
ExpressOA 包含自托管 Kestrel Web 服务器,Kestrel 可以单独使用,也可以与反向代理服务器一起使用。
ExpressOA 应用程序 runroot 文件夹中包含应用程序目录结构。
ExpressOA 包含自托管 Kestrel Web 服务器,Kestrel 可以单独使用,也可以与反向代理服务器一起使用。
ExpressOA 应用程序 runroot 文件夹中包含应用程序目录结构。
在 Windows Server 2022, 2019, 2016 上的托管方式:
l使用 IIS 托管 ExpressOA
在 Windows 11, Windows 10 上的托管方式:
l使用 Windows 服务托管 ExpressOA
(1)部署 ExpressOA 程序文件
1.1 下载 ExpressOA Elite v3.10 程序包
https://www.paioffice.com/expressoa/elite/downloads解开 ExpressOA 程序包,移动 approot 到目标部署路径,例如 C:\ExpressOA。
1.2 设置 ExpressOA Elite 目录结构的文件系统权限
Windows 用户组 Users 文件系统权限列表如下。
目录/文件
文件系统权限
chmod 权限
用途
/license
完全控制
666
存储许可证文件
/runroot
读取和执行
555
应用程序目录结构
/storageRoot
完全控制
666
存储路径
/temp
完全控制
666
临时文件夹
cloudstorage.json
读取
444
云存储配置
database.json
读取
444
配置数据库连接
(2)创建数据库结构
ExpressOA Elite v3.10 支持三种数据库:SQL Server、PostgreSQL 和 MySQL(MariaDB)。
使用 SQL Server 查询分析器,创建 ExpressOA 数据库结构(依次执行 SQL 语句 microsoft-sqlserver....sql)。
1、系统核心数据结构。
ExpressOA 程序包 database-sql-statements 文件夹下,包含创建数据库结构的 SQL 语句。
lSQL Server 2022, 2019, 2017
lSQL Server Express 2022, 2019, 2017(免费商用)
lPostgreSQL 17, 16, 15, 14, 13, 12(免费商用)
lMySQL 8.0+
lMariaDB 10.5+, 11.x
lSQL Server Express 2022, 2019, 2017(免费商用)
lPostgreSQL 17, 16, 15, 14, 13, 12(免费商用)
lMySQL 8.0+
lMariaDB 10.5+, 11.x
2.1 创建 SQL Server 数据库结构。
使用 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.2 创建 PostgreSQL 数据库结构。
使用 PostgreSQL 管理工具,创建 ExpressOA 数据库结构(依次执行 SQL 语句 postgresql....sql)。
1、系统核心数据结构。
1、系统核心数据结构。
postgresql_core.sql2、基本的演示工作流程(流程设计和表单模板)。
postgresql_demo.sql3、可选。更多的演示工作流程(流程设计和表单模板)。
postgresql_workflow_sample.sql
2.3 创建 MySQL 数据库结构。
使用 MySQL 管理工具,创建 ExpressOA 数据库结构(依次执行 SQL 语句 mysql....sql)。
1、系统核心数据结构。
1、系统核心数据结构。
mysql_core.sql2、基本的演示工作流程(流程设计和表单模板)。
mysql_demo.sql3、可选。更多的演示工作流程(流程设计和表单模板)。
mysql_workflow_sample.sql
(3)配置数据库连接
编辑 database.json 配置数据库连接信息。
使用 SQL Server 数据库,DatabaseType 为 【空字符串】 或 【SQLServer】。
使用 PostgreSQL 数据库,DatabaseType 为【PostgreSQL】。
使用 MySQL 或兼容数据库(例如MariaDB),DatabaseType 为【MySQL】。
实例又分为【默认实例】和【命名实例】,一台计算机上最多只有一个【默认实例】,【默认实例】没有特定的名称。
如果要访问 SQL Server【默认实例】,使用 计算机名 | localhost | IP地址。
如果要访问 SQL Server【命名实例】,使用 计算机名 | localhost | IP地址\\实例名称。
使用 PostgreSQL 数据库
使用 MySQL 或兼容数据库(例如MariaDB)
使用 SQL Server 数据库,DatabaseType 为 【空字符串】 或 【SQLServer】。
使用 PostgreSQL 数据库,DatabaseType 为【PostgreSQL】。
使用 MySQL 或兼容数据库(例如MariaDB),DatabaseType 为【MySQL】。
重要:在 json 配置文件中,使用两个 \\ 代表一个 \。
使用 SQLServer 数据库,DatabaseType 为 【空字符串】 或 【SQLServer】。
{ "DatabaseType": "SQLServer", "ConnectionStrings": { "SQLServer": "database=ExpressOA;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60;TrustServerCertificate=true", "PostgreSQL": "Database=ExpressOA;Host=localhost;Port=5432;Username=postgres;Password=YourPassword", "MySQL": "Database=ExpressOA;Server=localhost;Port=3306;User ID=root;Password=YourPassword" } }
SQL Server 知识点
在一台计算机上可以安装运行多个 SQL Server 实例。实例又分为【默认实例】和【命名实例】,一台计算机上最多只有一个【默认实例】,【默认实例】没有特定的名称。
如果要访问 SQL Server【默认实例】,使用 计算机名 | localhost | IP地址。
如果要访问 SQL Server【命名实例】,使用 计算机名 | localhost | IP地址\\实例名称。
举例(1)SQL Server 作为缺省实例安装在本机,Data Source 如下: localhost 举例(2)SQL Server Expres 安装在本机,实例名称为 "SQLEXPRESS",Data Source 如下: localhost\\SQLEXPRESS 举例(3)SQL Server 服务器 IP 地址为"10.1.2.3",实例名称为 "MSSQL",Data Source 如下: 10.1.2.3\\MSSQL
使用 PostgreSQL 数据库
{ "DatabaseType": "PostgreSQL", "ConnectionStrings": { "SQLServer": "database=ExpressOA;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60;TrustServerCertificate=true", "PostgreSQL": "Database=ExpressOA;Host=localhost;Port=5432;Username=postgres;Password=YourPassword", "MySQL": "Database=ExpressOA;Server=localhost;Port=3306;User ID=root;Password=YourPassword" } }
使用 MySQL 或兼容数据库(例如MariaDB)
{ "DatabaseType": "MySQL", "ConnectionStrings": { "SQLServer": "database=ExpressOA;Data Source=localhost;User ID=sa;password=YourPassword;Connect Timeout=60;TrustServerCertificate=true", "PostgreSQL": "Database=ExpressOA;Host=localhost;Port=5432;Username=postgres;Password=YourPassword", "MySQL": "Database=ExpressOA;Server=localhost;Port=3306;User ID=root;Password=YourPassword" } }