metasfresh安装配置(Web版)
本文简要描述在Ubuntu 20.04中安装metasfresh的Web端的基本流程,如果需要使用Swing客户端,可以参考这里。相较于之前的安装说明,本文中没有引入Aapche HTTP服务。
注意:metasfresh当前版本只支持Java 8,不支持更高版本,以下默认系统已经安装相应版本软件包(openjdk-8-jdk-headless)。
获取代码
首先获取metasfresh-docker仓库代码,后续步骤中多有用及:
git clone https://github.com/metasfresh/metasfresh-docker.git
数据库配置
执行以下命令创建并配置PostgreSQL数据库:
% initdb -D data -U postgres -A password -W % pg_ctl -D data -l data/data.log start % psql postgres postgres # create role metasfresh with login password 'metasfresh' ; # create database metasfresh with owner metasfresh ;
从https://github.com/metasfresh/metasfresh/blob/master/Jenkinsfile中找到数据库初始数据的链接并下载,如:
wget https://metasfresh.com/wp-content/releases/db_seeds/metasfresh_latest.pgdump
再执行以下命令导入初始数据:
pg_restore -j 8 -U metasfresh -d metasfresh metasfresh_latest.pgdump
基于以下命令下载数据迁移工具:
wget $(grep 'RUN curl' metasfresh-docker/docker-src/app/Dockerfile | cut -d' ' -f3 | sed -e 's/-dist.tar.gz/-sql-only.tar.gz/')
解压后,执行如下命令:
cd dist/install cat >settings.properties <<EOF METASFRESH_DB_SERVER=localhost METASFRESH_DB_PORT=5432 METASFRESH_DB_NAME=metasfresh METASFRESH_DB_USER=metasfresh METASFRESH_DB_PASSWORD=metasfresh EOF java -jar lib/de.metas.migration.cli.jar -s settings.properties
RabbitMQ
安装rabbitmq-server
包,然后启动服务:
service rabbitmq-server start
Web UI服务
拷贝相关文件:
cp -r metasfresh-docker/docker-src/webui/sources/dist webui cp metasfresh-docker/docker-src/webui/sources/configs/config.js webui cp metasfresh/frontend/favicon.png webui
调整config.js配置:
sed -i 's|http://MYDOCKERHOST:PORT||g' webui/config.js
设置404页面内容,以支持React页面跳转:
mkdir webui/error ln webui/index.html webui/error/404.html
Web API服务
基于以下命令创建服务配置文件:
sed -e "s/FOO_APP/localhost/g" -e "s/FOO_DBMS/localhost/g" metasfresh-docker/webapi/sources/configs/metasfresh.properties >metasfresh.properties
再据以下命令获取webapi服务包(基于metasfresh-docker/docker-src/webapi/Dockerfile文件中的地址):
curl -o webapi.jar $(grep 'RUN curl' metasfresh-docker/docker-src/webapi/Dockerfile | cut -d' ' -f3)
创建application.properties,内容如下:
PropertyFile=metasfresh.properties
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration
spring.data.elasticsearch.repositories.enabled=false
spring.resources.static-locations=file:webui
spring.session.timeout=7200
webui.frontend.allow-cross-site-usage=true
运行服务:
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Xmx1G -jar webapi.jar