Scipio ERP安装配置
Scipio ERP是OFBiz的一个分支,相较于OFBiz,Scipio ERP对部分模块做了简化,而在网上商城部分做了增强。
本文简要介绍其安装配置流程。
下载源码
可直接从GitHub获取源码:
git clone https://github.com/ilscipio/scipio-erp.git
配置数据库
Scipio内置有Derby数据库,可作为开发测试用,生产环境建议配置外部数据库。具体配置文件在framework/entity/config/entityengine.xml,以下以PostgreSQL为例。
- 创建ofbiz数据库;
- 创建ofbiz用户,密码设置为ofbiz;
- 将ofbiz所有者调整为ofbiz;
- 执行命令./ant download-jdbc-postgresql以下载PostgreSQL的JDBC驱动;
- 调整entityengine.xml中
name="default"
的delegator,将localderby
调整为localpostgres
;
编译系统
基于以下命令编译(Scipio的编译管理系统基于Ant和Ivy构建,速度较慢):
./ant build
在完成初次编译之后,因为Ivy缓存构建完成,可以开启build.xml中的lib.update.bypass
,以在后续编译时跳过Ivy缓存更新检测。
数据初始化
首先创建initial.xml文件,内容如下:
<entity-engine-xml>
<Party partyId="admin" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
<PartyRole partyId="admin" roleTypeId="CAL_OWNER"/>
<UserLogin userLoginId="admin" partyId="admin" currentPassword="{SHA}47ca69ebb4bdc9ae0adec130880165d2cc05db1a" lastLocale="en"/>
<UserLoginSecurityGroup groupId="SUPER" userLoginId="admin" fromDate="2001-01-01 12:00:00.0"/>
</entity-engine-xml>
之后执行以下命令完成初始化:
java -jar ofbiz.jar load-data readers=seed file=initial.xml
load-seed只是做了核心数据的初始化,initial.xml文件中包含了额外需要的配置。
启动服务
通过java -jar ofbiz.jar启动服务。
配置
禁用Solr
Scipio集成了Solr,主要用于/shop网站,如果不需要使用,可以在applications/solr/config/solrconfig.properties中禁用,同时在applications/solr/scipio-component.xml对ofbiz-component标签添加
enabled="false"
属性以禁用/solr页面。禁用externalLoginKey
为支持在应用之间切换时保持会话,Scipio默认通过在URL中追加
externalLoginKey
参数实现。可以通过framework/security/config/security.properties中的security.login.tomcat.sso
和security.login.externalLoginKey.enabled
调整为Tomcat的SSO机制。允许HTTP访问
Scipio默认只支持HTTPS访问,调整以下两项配置,可以允许HTTP访问:
- 禁用framework/webapp/config/url.properties中的
port.https.enabled
属性; - 设置framework/webapp/config/requestHandler.properties中的
secure-redirect-url-format
属性值为ofbiz-url
;
- 禁用framework/webapp/config/url.properties中的
优化页面渲染
删除framework/common/webcommon/includes/commonHeadScripts.ftl中
scipioStyles
一行。这一数据的功能是传递样式到浏览器端,用于JavaScript对样式的处理。猜测主要用于另外几款收费的样式,因为自带样式中引用其中变量的地方并不多。
但这一数据渲染后的JSON字典数据大小为37KB,这个体积对服务端页面生成、网络传输、浏览器端页面渲染都有一定影响了,所以可以考虑去除。
sed -i '/scipioStyles/d' framework/common/webcommon/includes/commonHeadScripts.ftl