在 Ubuntu 系统上安装
数据库
- 按照官方安装说明安装 Maria DB。
- 使用以下命令验证安装(根据实际的 MariaDB,服务名称可能为
MariaDB
或mysqld
):
systemctl start mysql
systemctl status mysql
3.配置数据库和相应用户:
sudo mysql -uroot -e "CREATE DATABASE frontlinecommandcenter CHARACTER SET = 'utf8' COLLATE = utf8_bin;"
sudo mysql -uroot -e "CREATE USER 'frontline'@'localhost' IDENTIFIED BY '$PASS'"
sudo mysql -uroot -e "GRANT ALL ON frontlinecommandcenter.* TO 'frontline'@'localhost' IDENTIFIED BY '$PASS' WITH GRANT OPTION;"
4.用安全密码替换$PASS
占位符。
注意:如果之前已经安装和配置了合适的数据库,请为该数据库创建一个用户,并将 -u root
改为 -u name_of_user -p
。
Frontline 指挥中心
1.为frontline.jar文件创建一个目录:sudo mkdir /var/opt/frontline
2.为用户数据创建一个目录:sudo mkdir /var/data/frontline
3.从Frontline 下载页面下载服务器应用程序 JAR 文件。
4.将其重命名为frontline.jar 并复制到/var/opt/frontline
:sudo cp ~/Downloads/frontline.jar /var/opt/frontline
5.使frontline.jar可执行:sudo chmod +x /var/opt/frontline
/frontline.jar
6.Frontline 作为Spring Boot 服务运行。导航至/etc/systemd/system
并创建一个包含服务详细信息的文件:sudo touchfrontline.service
7.编辑frontline.service并添加
[Unit]
Description=frontline command center
After=mysql.service
[Service]
Environment="UBIMAX_HOME=/var/data/frontline/"
ExecStart=/var/opt/frontline/frontline.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
8.要启用服务,请使用systemctlenablefrontline.service
。
9.通过systemctl startfrontline.service
启动服务
10.该服务将创建一些配置文件/var/data/frontline
,然后关闭。
安装在Windows 系统上
数据库
1.从官方网站下载最新稳定版的 MariaDB,并按照安装指南进行安装。
2.运行 MariaDB 安装程序,包括 HeidiSQL 支持程序。
3.为数据库创建根密码。
注意:在本手册中,根密码将被称为dbrootpassword
。
4.点击下一步。
5.完成安装后,启动 HeidiSQL 实用程序。假设是默认安装,文件位于此处: C:\Program Files (x86)\Common Files\MariaDBShared\HeidiSQL\heidisql.exe
6.点击新建。
7.以给定的名称(如 Frontline_Test)创建一个新数据库。
8.用之前创建的dbrootpassword
替换$PASS
占位符。
9.可选:自定义主机名/IP 和端口号。
如果使用不同的数据库系统,请调整下面的 SQL 语句以适应数据库:
CREATE DATABASE FrontlineCommandCenter CHARACTER SET = 'utf8' COLLATE = utf8_bin;
CREATE USER 'frontline'@'%' IDENTIFIED BY '$PASS';
GRANT ALL ON FrontlineCommandCenter.* TO 'frontline'@'%' IDENTIFIED BY '$PASS' WITH GRANT OPTION;
Frontline 指挥中心
- 请访问Frontline 下载页面。
- 下载服务器应用程序文件,并将其重命名为frontline.jar。
- 从同一页面下载服务器服务包装器。
FCC 需要一个安装目录和一个 DATA 目录:
- 安装目录- 包含frontline.jar文件以及 WinSW_frontline.exe 和 WinSW_frontline.xml 服务封装文件。
- 位置:
C:\Frontline
- ID:
$BASE$
- DATA 目录- 用作主目录。用于存放客户资产,如登录卡和主题。在安装目录内创建一个新文件夹并命名为 DATA。
- 位置:
C:\Frontline\DATA
- id:
$frontline_home$
注: $BASE$
和$FRONTLINE_HOME$
位置 ID 将在以下代码示例中用作参考。
WinSW_frontline.exe
服务包装器允许用户将 FCC 服务安装为Windows 服务。
- 可选项:如果需要配置前向代理(例如,让 FCC 访问我们的许可证服务器),请打开WinSW_frontline.xml文件,并在
<arguments>
元素的开头添加-Dhttps.proxyHost
=$HOST -Dhttps.proxyPort=$PORT -Dhttps.nonProxyHosts=localhost
,用代理的值取代$HOST
和$PORT
。 - 打开命令提示符(具有管理员权限)。
- 将目录更改为
$BASE$
。 - 运行
WinSW_frontline.exe 安装程序
。 - net startfrontline (默认服务 ID 为frontline )。
首次启动时,服务会在提取配置文件后自动停止。Windows 可能会将服务报告为失败或崩溃。
FCC 配置目录位于$FRONTLINE_HOME$
目录内。位置应为C:Frontline
(DATA\
config\configuration)。应按以下说明编辑xserver.properties配置文件。
Frontline 命令中心的初始配置(Ubuntu 和Windows)
- 打开位于
UBIMAX_HOME/config/configuration/ 的
xserver.properties文件。 - 更改数据库 IP、用户名和密码(要查看 IP 地址,请使用 ip
addr show
命令)。 - 如果客户有host 名称,则可使用
xserver.url.external.http
代替 IP 地址。需要在server.port
中提及端口。需要配置 SSL,除非有一个带 SSL 终端的反向代理。
根据不同的系统和要求,需要设置或配置 Keycloak、xAssist Stack、ffmpeg、电子邮件和 FaaS 等组件。
FaaS (必填)
1.要使用Frontline 云服务,请设置以下属性:
fcc.faas.base-url=https://functions.svc.frontlineworker.com/function/
2.对于自托管,每个 FaaS 的端点都可以单独覆盖:
fcc.faas.function.<function>.override-url=
而函数是imagemagick
、pdfmake
或proglove
。
3.对于 ImageMagick 和 Proglove, ,无需额外配置。
4.对于 PDFMake,需要设置以下环境变量:
RAW_BODY: "true"
MAX_RAW_SIZE: "100mb"
启动服务器
- 完成属性设置后,使用以下命令启动服务器:
systemctl startfrontline.service
(UBUNTU) 或net startfrontline
(WINDOWS) - 服务状态可在
UBIMAX_HOME/log/server/fronline.log
下查看。 - 首次成功启动 FCC 时,会创建一个名为
sysadmin
的系统管理员用户,密码为随机密码。该用户用于配置 FCC。 系统管理员
用户的密码可从位于$
FRONTLINE_HOME\logs 的日志文件中获取。- 打开frontline.log文件,密码按以下格式显示:
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - YOUR GENERATED SYSADMIN PASSWORD: 123456789 - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - CHANGE THIS PASSWORD AS SOON AS POSSIBLE TO A PERSONALIZED ONE. - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - ########################################################## - -:-/-
INFO de.ubimax.xserver.DatabaseSetupManager - #####################################################
6. 使用sysadmin
用户登录并更改密码。
导入许可证:
- 打开Frontline Command Center。
- 转到配置。
- 转到许可证。
- 单击导入许可证。
- 在随后显示的模式窗口中,单击 "导入许可证"将条目与许可证服务器同步。
钥匙斗篷(必备)
运行 Keycloak 时有两种操作模式:独立模式和群集模式。选择哪种模式取决于你的个人需求。有关如何设置这两种模式的详细指南,请参阅 Keycloak 官方安装指南。Frontline 支持版本 15 或更高。
成功安装 Keycloak 后,需要创建安装中使用的域。FCC 安装的每个域都需要有一个单独的域。
- 下载此 JSON 文件。
- 打开领域导出 JSON 文件。
- 将所有出现的
<the-fcc-url>
替换为实际的 FCC URL。 - 可选:将
frontline-realm 的所有出现替换为另一个领域名称(仅适用于 Keycloak 中需要多个
Frontline 领域的情况)。 - 可选:搜索
"claim.name":"domain
"并替换相应的域值(仅适用于 FCC 将使用默认ubimax
域以外的域)。 - 通过浏览器登录 Keycloak 管理控制台。
- 单击 "选择域"。
- 选择添加境界。
- 选择要导入的文件。
- 打开导入的领域。
- 导航至
客户/FCC/凭据
。 - 点击 "再生秘密"。
- 复制该值。
- 复制的值需要在 FCC 的xserver.properties文件中设置为
fcc.keycloak.realms.<domain>.clientSecret
(<domain> 默认为ubimax
)。 - 可选:在 "境界设置"的电子邮件选项卡中配置 SMTP 服务器。
- 配置 Keycloak 后,必须在 FCC 的xserver.properties文件中为每个域设置以下属性:
- 必须用相应的详细信息替换所有用 "楔形"(<>)书写的占位符。
- 其目的是将
KeyMan URI
设置为空
。
fcc.keycloak.enabled=true
fcc.keycloak.realms.<domain>.name=<realm-name>
fcc.keycloak.realms.<domain>.domainTag=<domain>
fcc.keycloak.realms.<domain>.realmId=<realm-name>
fcc.keycloak.realms.<domain>.serverUrl=<keycloak-external-url>
fcc.keycloak.realms.<domain>.clientId=fcc
fcc.keycloak.realms.<domain>.clientSecret=<client-secret>
fcc.keycloak.keyman.uri=
注:KeyMan是一项服务,可在Frontline 云实例上自动执行上述所有步骤,自托管 Keycloak 不需要KeyMan。
上传客户端应用程序
配置 Keycloak 后,必须创建管理员用户,并将客户端应用程序上传到Frontline 命令中心。
- 使用 "用户管理"页面中提到的步骤,创建具有管理员角色的用户。
- 从下载 页面下载最新的Frontline Workplace 智能玻璃应用程序。
- 在Frontline 命令中心左上角选择导航窗格。
- 转到配置。
- 按照申请管理页面上提到的步骤上传申请。
IAM 集成
为方便用户管理,Frontline 支持将用户详细信息从身份提供商同步到 FCC。如果启用此映射,FCC 将处理 IDP 用户详情,并且不允许在 FCC 管理级别上覆盖这些详情。同步的用户详细信息包括语言偏好、角色、许可证分配和团队。
目前,Frontline 支持以下 IAM 类型:
- Microsoft Azure 活动目录
- 微软活动目录
- AWS 身份和访问管理
角色、许可证和团队在以下情况下无法成功应用:
- 许可证、角色或团队与 IDP 和 FCC 中的内容不完全一致(区分大小写)
- FCC 没有免费许可证(用于角色和许可证映射)
- 用户尚未登录(只有用户登录后才会同步)
必须仔细定义身份提供者的可用角色和团队,以便成功映射角色、许可证和团队:
- <LicenseName> 为特定用户分配许可证(如 License_xAssist)。
- <RoleName> 为特定用户分配一个角色并假定许可证(如管理员)
- <Team> 将特定用户指派给 FCC 中的一个团队
身份中介(可选)
注意:身份中介仅在用户完全存在于 Keycloak 的 FCC 安装中受支持。只有在所有现有用户至少使用 Keycloak 登录过一次之后,或在新安装的系统中从一开始就启用了 Keycloak 时,身份中介才会起作用。
通过身份中介,Keycloak 领域可与外部基于 OpenID 的身份提供商 (IDP) 相连。这意味着用户无需在 Keycloak 中输入凭据,而是被重定向到外部 IDP(如 Azure AD 或 Okta),身份验证成功后,用户会被带回到 Keycloak(然后到Frontline )。
下图显示了用户登录时的基本身份验证过程:
用户永远不会与 FCC 共享密码,但会被重定向到 Keycloak 和身份提供商,由后者创建身份验证令牌。默认情况下,Keycloak 会尝试通过电子邮件地址将外部用户与现有的Frontline 用户匹配。如果无法匹配(未找到匹配用户),登录程序将中止,并拒绝访问Frontline 。
一个 Keycloak 领域可以包含多个身份代理(如 Azure AD)。这就增加了使用本地账户和不同外部账户登录的可能性。在某些情况下,一旦新用户尝试登录,即时创建用户可能是有益的。这就是所谓的用户配置,可通过在 FCC 中使用以下属性启用:
fcc.keycloak.user-provisioning.enabled=true
除此之外,还需要配置以下属性:
server.servlet.session.cookie.same-site=none
server.servlet.session.cookie.secure=true
这样做确实会在首次登录时创建用户账户,但此时账户本身几乎毫无用处,因为它既没有许可证层级,也没有分配任何角色。可以通过以下属性更改这种行为。以下更改将导致所有配置的用户最终进入 FCC,并从分配的 xAssist 许可层中获得 xAssist 角色:
fcc.keycloak.user-provisioning.default-license-tiers=xAssist
fcc.keycloak.user-provisioning.default-roles=xAssist
身份代理需要在要使用的身份提供商方面进行一些设置。下面的示例展示了如何将 Azure AD 配置为身份提供商。其他身份提供商也采用类似方法。
要在 Keycloak 中将 Azure AD 配置为身份提供程序:
- 选择您的领域。
- 转到身份供应商。
- 添加新的OpenID Connect v1.0提供程序。
- 一直向下滚动到 导入外部 IDP 配置。
- 粘贴您的 "发现 "URL。
- 点击导入。这将填充授权 URL或令牌 URL 等字段。
- 手动编辑以下值:
- 别名和名称- 可设置为自定义值,名称是稍后在登录页面上显示的名称,而别名可在重定向 URI 中找到。
- ClientAuthMethod- 选择
client_secret_post
。 - ClientID- 在 Azure 中创建应用程序时发现。
- ClientSecret- 在 Azure 中创建应用程序时发现。
- 保存新添加的身份供应商。之后,它就会出现在单点登录页面上。
Azure AD 作为身份提供程序
- 登录 Azure。
- 导航至应用程序注册。
- 转到新注册。
- 将应用程序命名为Frontline Keycloak。
- 将其设置为单个租户。尚不需要重定向 URI。
6.创建应用程序后,主页面上会显示客户 ID。
7.发现 URL 可在端点下找到。它是OpenID Connect 元数据文件。
8.生成客户秘密。为此,请单击当前客户端凭证。
9.要添加新的客户保密信息,请单击 "新建客户保密信息"。说明应为Frontline secret,期限应设置为 24 个月。
10.添加秘密后,将生成一个包含值 和秘密 ID的条目。
注意:立即复制并安全地保存该值,因为以后将无法使用,它是 客户机秘密。
要在 Azure 中配置缺失的重定向 URI:
- 通过应用程序注册导航到我们的应用程序 Frontline Keycloak。
- 选择重定向 URI。
3.选择添加平台/网络。
4.需要输入的重定向 URI 如下所示:
<Local-Keycloak-Url>/auth/realms/<your-realm-name>
.