dram.me

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为例。

  1. 创建ofbiz数据库;
  2. 创建ofbiz用户,密码设置为ofbiz;
  3. 将ofbiz所有者调整为ofbiz;
  4. 执行命令./ant download-jdbc-postgresql以下载PostgreSQL的JDBC驱动;
  5. 调整entityengine.xmlname="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.ssosecurity.login.externalLoginKey.enabled调整为Tomcat的SSO机制。

  • 允许HTTP访问

    Scipio默认只支持HTTPS访问,调整以下两项配置,可以允许HTTP访问:

    1. 禁用framework/webapp/config/url.properties中的port.https.enabled属性;
    2. 设置framework/webapp/config/requestHandler.properties中的secure-redirect-url-format属性值为ofbiz-url
  • 优化页面渲染

    删除framework/common/webcommon/includes/commonHeadScripts.ftlscipioStyles一行。

    这一数据的功能是传递样式到浏览器端,用于JavaScript对样式的处理。猜测主要用于另外几款收费的样式,因为自带样式中引用其中变量的地方并不多。

    但这一数据渲染后的JSON字典数据大小为37KB,这个体积对服务端页面生成、网络传输、浏览器端页面渲染都有一定影响了,所以可以考虑去除。

    sed -i '/scipioStyles/d' framework/common/webcommon/includes/commonHeadScripts.ftl