1 部署文档
1.版本说明
请参考下表了解您所获取的版本。以 V5.x 为例
压缩包名称 | 版本类型 | 说明 |
---|---|---|
UniEAP Report V5.x 部署版20200222.zip | 部署版 | 部署版只是一个应用,需要自己安装jre、Web容器、数据库,使用场景是生产环境正式部署。 |
UniEAP Report V5.x 快速体验版20190222.zip | 快速体验版 | 快速体验版可以一键启动,内置了jre、tomcat、db,使用场景是 “体验、试用” |
【说明】 压缩包名称构成:UniEAP Report + {版本号} + {版本类型} + {打版日期}.zip
【注意】 您获取的版本中不包含License,请联系我司商务人员申请。
如果您获取的是 “ 快速体验版 ”,按如下步骤启动即可,无需阅读后续内容
1.拷贝版本到Windows主机并解压
2.双击run.bat启动
3.正常启动后点击访问报表按钮,或者打开浏览器,在网址栏中输入 http://127.0.0.1:8081/report/
4.输入账号、密码登录(内置管理员账户:admin/Arpt123+-*/)
2.部署版环境说明
服务器硬件环境要求:
硬件名称 | 硬件配置描述 |
---|---|
内存 | 最小可用内存:4GB 推荐:8GB或更大内存 |
处理器 | 最低:2核2.0 GHz 推荐:4核2.5GHz或性能更好的处理器 |
硬盘 | 最小可用空间:20GB 推荐:100GB或更大可用空间。 |
网卡 | 千兆网卡以上 |
服务器软件环境要求:
软件名称 | 软件描述 | 备注 |
---|---|---|
操作系统 | Windows / Linux | 推荐使用Windows Server版或Linux企业版 |
JAVA | JDK1.8 及以上 | |
WEB容器 | Apache Tomcat 8.0 及以上 | 可使用其他JAVA WEB容器 |
支撑数据库 | MySQL5.5+/Oracle 12c/SQL Server2008 及以上 | 可扩展适配其他数据库,如DB2、达梦、Gbase |
客户端软件环境要求:
软件名称 | 软件描述 | 备注 |
---|---|---|
浏览器 | Chrome,FireFox,IE11+ | 推荐使用Chrome |
3.开始部署
部署前提条件:部署环境应满足软件环境要求:需要安装JDK、应用服务器(tomcat、weblogic),需要配备可连通的数据库的数据库用户,具体需求参见"部署版环境说明"章节。
注意:请确保服务器安全策略是可靠的,目前已经发生过黑客使用勒索病毒盗取客户数据库信息的事件。3.1 导入数据库脚本
将报表的数据库脚本全部导入到数据库中,脚本无执行先后顺序。产品默认提供了oracle、mysql和sqlserver三种数据库的建库脚本,如果需要其他数据库的建库脚本可以与我们联系。
3.2 部署至应用服务器
将工程report拷贝至应用服务器下相应的目录下(Tomcat/webapps)。
3.3 应用服务器配置修改
以Tomcat为例:
根据服务器内存大小,修改相应 JVM 设置,本例设为 4096m
Windows:在bin/catalina.bat中,增加:
set JAVA_OPTS=-Xms4096m -Xmx4096m -XX:NewSize=2250M
-XX:MaxNewSize=2250M -XX:PermSize=256m -XX:MaxPermSize=512M
Linux:在 bin/catalina.sh 中,增加:
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Xms4096m -Xmx4096m
-XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=2250M"
tomcat中有上传文件大小限制,默认最大能传3M大小,当报表模板很大时保存不上,可以修改(Tomcat/conf/server.xml)中maxPostSize属性,tomcat7以上设置成-1 tomcat6的话设置成0 例如:
<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1" />
3.4 工程配置文件修改
3.4.1 配置支撑数据源
配置文件的位置在
WEB-INF/conf/datasource.properties,
如下所示
#------------------------mysql config----------------------------
datasource.driverClass=com.mysql.jdbc.Driver
datasource.jdbcUrl=jdbc:mysql://10.4.45.105:3306/report?characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
datasource.user=root
datasource.password=root
datasource.initialSize=2
datasource.maxActive=150
datasource.maxIdle=5
datasource.maxWait=5000
datasource.validationQuery=select 1
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.showSql=false
quartz.delegate=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#------------------------oracle config----------------------------
#datasource.driverClass=oracle.jdbc.driver.OracleDriver
#datasource.jdbcUrl=jdbc:oracle:thin:@10.4.53.89:1521:orcl
#datasource.user=report_ci
#datasource.password=report_ci
#datasource.initialSize=2
#datasource.maxActive=150
#datasource.maxIdle=5
#datasource.maxWait=5000
#datasource.validationQuery=select 1 from dual
#hibernate.dialect=org.hibernate.dialect.OracleDialect
#hibernate.showSql=false
#quartz.delegate=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#------------------------sql server config----------------------------
#datasource.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
#datasource.jdbcUrl=jdbc:sqlserver://10.4.53.151:1433;DatabaseName=report_test
#datasource.user=sa
#datasource.password=aaa123+-*/
#datasource.initialSize=2
#datasource.maxActive=150
#datasource.maxIdle=5
#datasource.maxWait=5000
#datasource.validationQuery=select 1
#hibernate.dialect=org.hibernate.dialect.OracleDialect
#hibernate.showSql=false
#quartz.delegate=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
注意,如果下载的是专业版,数据源配置文件是 WEB-INF/conf/unieap/connection/connection-config.xml,提供两种常用的 连接方式:JDBC c3p0 连接方式和应用服务器 JNDI 连接池方式。 对应名称为UNIEAP。
<c3p0-connection name="UNIEAP">
<url>jdbc:oracle:thin:@10.4.53.89:1521:orcl</url>
<driverclass>oracle.jdbc.driver.OracleDriver</driverclass>
<user>report_ci</user>
<password>report_ci</password>
<min-pool-size>3</min-pool-size>
<max-pool-size>15</max-pool-size>
<checkout-timeout>0</checkout-timeout>
<max-idle-time>7200</max-idle-time>
<idle-connection-test-period>0</idle-connection-test-period>
<test-connection-on-checkin>false</test-connection-on-checkin>
<test-connection-on-checkout>false</test-connection-on-checkout>
<max-statements>0</max-statements>
<max-statements-per-connection>0</max-statements-per-connection>
<acquire-increment>3</acquire-increment>
</c3p0-connection>
<jndi-connection name="jndi">
<jndi-name>java:comp/env/UNIEAP</jndi-name>
</jndi-connection>
注意:产品默认只提供oracle驱动,如使用其他数据库请将对应版本驱动放入 report/WEB-INF/lib/ 目录下
【注意】:在xml文件中,连接参数时需要将&改为&;进行转义才能生效
3.4.2 前端配置文件
修改报表打印服务访问的url
window.printServer="http://localhost:8080/report"
默认报表有强密码校验,如果需要修改,可以将以下设置设为false
window.reportOption.strongPwd: false
如果报表服务应用名没有变更,为report,则不需要设置下面的内容
假设报表服务名变更为UnieapReport
修改前端配置文件:/unieap/pages/platform/common/config.js
把第一行配置设置为
window.charts_server = "/UnieapReport";
修改设计器配置文件:/unieap/pages/webdesigner/custom-config.js
把第一行配置设置为
window.report_server = "/UnieapReport/";
3.4.3 任务调度配置文件修改
将WEB-INF/conf/unieap/newscheduler/dataviz-schedular.properties文件中的
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
修改为对应支撑库的方言配置,常见的几种方言供参考:
数据库类型 | org.quartz.jobStore.driverDelegateClass |
---|---|
mysql | org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
oracle | org.quartz.impl.jdbcjobstore.oracle.OracleDelegate |
sqlserver | org.quartz.impl.jdbcjobstore.MSSQLDelegate |
postgre | org.quartz.impl.jdbcjobstore.PostgreSQLDelegate |
db2 | org.quartz.impl.jdbcjobstore.DB2v8Delegate |
3.5 导入License
3.5.1 License说明
license分为试用、开发和部署三个版本
类型 | 说明 |
---|---|
试用版 | 使用期限一个月 |
开发版 | 使用期限三个月 |
部署版 | 没有期限限制,需要绑定服务器设备 |
在左侧菜单中,点击系统设置中的许可信息页面可以查看license的详细信息。
3.5.2 License获取方法
联系与您接洽的商务人员。
或者登陆http://www.unieapreport.com/download/ 申请。
3.5.3 License上传方法
两种方式:
a) 在线上传( 推荐 )
管理员 在许可信息页面支持License文件的上传更新,只需点击下方的“浏览”按钮选择新申请的License文件,再点击更新即可,如下图所示:
这种方式的好处是不需要重启后台服务,上传成功后页面会显示新的许可信息。
b) 直接覆盖
将申请到的license文件覆盖原/WEB-INF/conf/unieap/license/ 目录下的unieap.license文件即可。覆盖后需要重启后台服务。
3.6 Linux环境下配置
1.配置pictool文件的执行权限,作用:导出的图表因没有权限无法绘制。配置方法如下:
修改unieap\pages\report\jsp\show\pictool\work\linux32(linux64)对应目录下的pictool文件的可执行权限。 可通过命令行修改:
chmod 777 pictool
修改权限之后,可通过如下命令,查看并确保可执行文件能够执行。
./pictool
【注意】如果可执行文件无法执行,通常是因为缺少环境中缺少freetype、fontconfig包。建议使用yum install命令安装对应包。
2.装中文字体
Linux下默认没有安装汉字字体,在导出带有汉字的图表时会出现中文乱码或者不显示的问题。
另外报表导出pdf时,如果报表中存在汉字,如果Linux下没有安装字体,导出的pdf中的汉字会显示成一个个方框。
需要给系统安装中文字体:
打开windows系统 C:\WINDOWS\Fonts 目录,选择所需要的中文字体文件,拷贝到linux系统 /usr/share/fonts/ 目录下。需要给使用的jre环境安装中文字体 1: jre\lib\font(s)目录里新建一个fallback文件夹。 2: 选择所需要的中文字体文件,复制或者链接字体文件到fallback文件夹里面
【注意】{jre}是指应用服务器运行环境所使用的jre,如果安装了多个jre,需要找到对应运行环境的那个。
3.7 其他配置
3.7.1 配置文件属性值加密
一些环境下部署时,为了部署环境的安全可能需要将配置文件中类似数据库密码一类的字符串信息做加密,Report 默认提供了基于 AES-256 算法 CBC 模式的加密配置,可以用于加密数据库密码之类写在 properties 文件中的字符串信息。
下文以加密 datasource.properties 中 datasource.password 这一属性为例做说明,如还需加密其他属性也可做类似修改。
3.7.1.1 密钥配置
Report 内置加密的密钥采用伪随机数算法生成,可不做修改直接使用。如果有更多安全考虑,可以通过修改属性值来自定义种子,得到与默认配置不同的加密结果。
配置文件位置:report/WEB-INF/conf/spring/applicationContext.xml
查找如下配置片段,修改的 index=0 的值即可。
<bean id="configStringTransformer" init-method="finishSetup" class="com.neusoft.saca.dataviz.base.util.texttransform.KeyFortifiedSymmetricCipherTransformer">
<constructor-arg index="0" value="myProject" />
</bean>
3.7.1.2 密文的生成
获取需要加密的明文的密文有两种方式:
启动服务后访问 URL 获取
在默认的明文配置下启动 Report 后台服务,以任意用户登录后,使用浏览器访问如下地址(假设后端应用名为 report,需加密的明文为password):
http://server-ip:service-port/report/propertyEncode?value=password
不启动服务,由命令行执行java程序生成
进入命令行,cd 到后端应用 WEB-INF/lib 目录下,执行命令(假设需加密的明文为 password):
Linux 系统:
java -cp ./*: com.neusoft.saca.dataviz.base.properties.PropertyValueEncodeTool password ../conf/spring/applicationContext.xml
Windows 系统:
java -cp .\*; com.neusoft.saca.dataviz.base.properties.PropertyValueEncodeTool password ..\conf\spring\applicationContext.xml
获取后,拷贝记录加密后的密文。
3.7.1.3 配置加密的属性
datasource.properties 配置数据库方式
1.于 WEB-INF/conf/applicationContext.xml 中查找名为
propertyValueProcessor
的 bean,将其 map 中的值做如下修改(entry 的 key 即为需加密的属性名):<bean id="propertyValueProcessor" class="com.neusoft.saca.dataviz.base.properties.PropertiesValueProcessor"> <property name="propertyTransformation"> <map key-type="java.lang.String"> <entry key="datasource.password" value-ref="configStringTransformer"/> </map> </property> </bean>
2.将 datasource.properties 文件中的 datasource.password 属性值改为之前拷贝的密文。
connection-config.xml 配置数据库方式
1.于WEB-INF/conf/unieap/report/project.properties 中查找
databaseEncryptionField
添加需要加密字段databaseEncryptionField = password
如果多个字段加密中间逗号分隔,如:
databaseEncryptionField = user,password
2.将 connection-config.xml 文件中的 password 属性值改为之前拷贝的密文。
4.重新启动应用服务器
重新启动应用服务器,在浏览器地址栏中输入http://IP地址:服务器端口号/服务名(例如http://10.4.45.245:8080/report),如果部署成功,会转到登陆页面,登陆后菜单功能正常,并且设计器可以正常使用:
V5.5及以前版本登录账号:
账号 | 密码 | 角色 | 备注 |
---|---|---|---|
admin | 1 | 系统管理员 | 登录后请立即修改密码 |
V5.6及以后版本登陆后会要求用户设置管理员密码,默认情况下,需要设置为强密码(需要包含小写字母、大写字母、数字以及特殊符号)