安装配置(Tomcat)
# 安装配置(Tomcat)
# 企业版部署
在您购买我们的企业版产品以及服务之后,将会有专门的技术人员为您快速私有化部署
# 项目要求
- JDK1.8 (Java 环境)
- MySQL5.7+/SQLServer/Postgresql/Oracle (系统元数据存储)
- Apache Tomcat 8.5
- 建议浏览器 Chrome
- 操作系统 Linux(首选CentOS7), Windows
- IBI war包app-web.war、元数据创建脚本cboard.sql
- pkg-puppeteer 用于导出看板、邮件发送
- 用户需有基础的数据库、数据仓库、OLAP 数据分析知识或者 Excel 透视表使用经验
# 元数据准备
# mysql
CREATE DATABASE cboard CHARACTER SET utf8;
运行脚本mysql相关脚本,您可以选择通过命令行执行或者拷贝脚本在您熟悉的数据库客户端工具执行
source db/mysql.sql
确认数据库创建成功
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cboard |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql> use cboard;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_cboard |
+------------------------+
| Meta_Version |
| dashboard_board |
| dashboard_board_param |
| dashboard_category |
| dashboard_dataset |
| dashboard_datasource |
| dashboard_folder |
| dashboard_job |
| dashboard_role |
| dashboard_role_dataset |
| dashboard_role_res |
| dashboard_shared_board |
| dashboard_user |
| dashboard_user_role |
| dashboard_widget |
| log_data_access |
+------------------------+
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# oracle
运行脚本 db/oracle/cboard.sql
# 环境配置
当服务器有多个不同的JDK版本,需要指定Tomcat的运行的JDK版本时 windows找到bin下的catalina.bat;在文件的开始出添加如下代码:
set JAVA_HOME=D:\Program Files\Java\jdk8
linux设置catalina.sh
export JAVA_HOME=/home/jdk/Java/jdk8
# 部署应用
拷贝ibi war包app-web.war到tomcat的webapps目录,建议修改app-web.war包名称为ROOT.war,如有名称冲突可以先备份重名应用、或者删除同名ROOT应用,
提示
您也可以选择应用不以ROOT名称部署,但是部署启动完成之后,配置里面frontend.baseurl
需要修改为对应名称, 比如部署名称为cboard
# Headless 浏览器导出访问 url 配置
frontend.baseurl=http://localhost:8080/cboard
2
# 启动Tomcat
启动tomcat,${TOMCAT_HOME}/bin/startup.sh,自动解压war包
提示
注意第一次自动时由于war包中默认的配置文件(包含元数据链接、日志数据库、pkg-puppeteer所在目录等)与您的部署环境不一致,所以会有启动报错,启动解压完成之后,忽略错误,停止tomcat服务即可
# 修改配置文件
src/main/resources/config.properties
validationQuery=SELECT 1
# MySql 数据库需要加 characterEncoding 编码参数方式元数据中文乱码
jdbc_url=jdbc:mysql://localhost:3306/cboard?characterEncoding=utf-8
# 修改为您自己的数据库用户名与密码
jdbc_username=cboard
jdbc_password=cboard
jdbc.threadpool.maxActive=5
# SqlServer连接串
#jdbc_url=jdbc:sqlserver://192.168.xxx:1433;databaseName=CBoard
# 日志数据库与上面的元数据一致即可,注释状态与元数据保持一致
# 也可以单独配置日志数据库,需要保证连接库中存在log_data_access表
# log_jdbc_url=jdbc:mysql://localhost:3306/cboard?characterEncoding=utf-8
# log_jdbc_username=cboard
# log_jdbc_password=cboard
# Service configuration
dataprovider.resultLimit=1000000
# 超级管理员ID, 默认元数据库超级管理员 admin user_id 为1, CAS/OAuth2.0 场景下根据自己的情况配置
admin_user_id=1
# 看板导出相关配置,不同平台有对应的导出插件
pkg_puppetter=/Users/peter/Documents/cboard/pkg-puppeteer/build/pkg-puppeter-macos
# 交叉表是否合并表头阈值=行维数量 * 数据行数
#pivot.table.mergeLimit=500
mail.smtp.host=smtp.sina.com
mail.smtp.port=25
mail.smtp.from=
mail.smtp.username=
mail.smtp.password=
#mail.smtp.ssl.checkserveridentity=false
org.quartz.threadPool.threadCount=2
# 内部聚合器类型: h2[default], clickhouse
aggregator.type=h2
# Set batch size load size, times by 1 thousand
aggregator.batchReadSize=50
aggregator.batchLoadSize=10
# aggregator.cleanJob.quartz=0 0 0 * * ?
# Storage File Syatem 离线数据缓存配置
# 1 Stores data in file system 默认配置为文件形式存储
aggregator.h2.url=jdbc:h2:~/H2Data/cboard;AUTO_SERVER=TRUE;LOG=0;UNDO_LOG=0
# 2 Stores data outside of the VM's heap - useful for large memory DBs without incurring GC costs.
#aggregator.h2.url=jdbc:h2:nioMemFS:cboard;LOG=0;UNDO_LOG=0
aggregator.h2.database.name=cboard
aggregator.h2.threadpool.maxActive=10
# Clickhouse离线聚合器相关配置
aggregator.ck.url=jdbc:clickhouse://ip:8123/ibi
aggregator.ck.database.name=ibi
aggregator.ck.username=peter
aggregator.ck.password=peter
aggregator.ck.pool.minIdle=5
aggregator.ck.pool.maxIdle=10
aggregator.ck.pool.maxActive=5
# 日志过滤规则,正则表达式
log.negativeFilter=List\\.do
log.positiveFilter=
# Headless 浏览器导出访问 url 配置
frontend.baseurl=http://localhost:8088
frame.options.whitelist=http://localhost:8080,http://localhost:8011
# 会话过期失效,单位分钟
session.timeoutMinutes=300
# 认证类型,可配置 jdbc,cas,oauth2, ldap
spring.security.auth.type=jdbc
#cas
#caso.client.url=http://localhost:8026
#caso.client.check=${caso.client.url}/login/cas
caso.server.url=https://ip:8443/cas
caso.server.login=${caso.server.url}/login
caso.server.logout=${caso.server.url}/logout
#cas RestAPI
caso.server.tgt=${caso.server.url}/v1/tickets
caso.server.validate=${caso.server.url}/serviceValidate
#OAuth2
## implicit
oauth2.implicit.url=http://ip:8080/oauth2/oauth/authorize?response_type=token&scope=read
oauth2.userInfo=http://ip:8080/oauth2/m/user_info?access_token=
oauth2.client_id=ibi-app
oauth2.client_secret=client_secret
oauth2.redirect_uri=http://localhost:8088/login.html
#LDAP
#ldap.url=ldap://www.zflexldap.com:389
#ldap.base=dc=zflexsoftware,dc=com
#ldap.userDn=cn=ro_admin,ou=sysadmins
#ldap.password=zflexpass
#ldap.principalPattern=uid=%s,ou=users,ou=guests
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# 重启启动Tomcat
在元数据库连接没有问题的情况下,正常启动Tomcat,并访问
http://hostname:port
默认用户名与密码为:admin/root123
# 更新License授权文件
- 申请IBI商业授权,需要向服务商提供布局环境硬件信息, 登录系统,右下角点击License信息获取相关信息。
- 获取了正式的商业授权(license.cert文件)之后,覆盖原有授权文件, License更新不需要重启Tomcat
${tomcat_home}/webapps/ROOT/WEB-INF/classes/license.cert
# IBI Logo 与脚注修改
# 说明
为了方便软件服务企业对外提供服务,我们允许客户修改 logo 与脚注相关内容
但是版权声明可以替换为空白,或者单纯的公司信息,但是不允许申明为自己公司版权
如:
允许
xxx 公司 【允许】
禁止
Copyright © xxx 公司 . All rights reserved. 【不允许】
版权 © xxx 公司 . 保留所有版权. 【不允许】
# 通过配置文件替换
js/Settings.js
var settings = {
preferredLanguage: 'cn', // en/cn: Switch language to Chinese
baseServerUrl: '',
loginLogoHtml: null,
headerLogoHtml: null,
copyrightHtml: null,
showBoardUpdateAlert: true
};
2
3
4
5
6
7
8
- loginLogoHtml:登录页 logo 位置 html
- headerLogoHtml:主界面页眉左上角 IBI logo html
- copyrightHtml:页脚左下角版权申明 html
修改之后不生效
静态资源修改之后需要清理浏览器缓存,可通过浏览开发控制确认
# 通过回调函数
ext/ext.js
/**
登录页面加载完成回调函数,加载完成之后,可以通过 dom 操作改变任意 dom 内容与样式
**/
function onLoginPageMounted() {
console.log('Login page mounted');
//$('#login-logo').html('');
}
/**
主界面加载完成回调函数,加载完成之后,可以通过 dom 操作改变任意 dom 内容与样式
**/
function onMainPageMounted() {
console.log('Main page mounted!');
// $('#footer-copyright').html('<b>版权</b>');
// $('#header-logo').html('');
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16