# 一命速通 国服CPI部署全流程——在BTP上部署CPI和本地服务器上实现Nginx反代
原创 郭翔 [ 建广技师 ](javascript:void\(0\);)
__ _ _ _ _
一命速通 国服CPI部署全流程 一——在BTP上部署CPI和本地服务器上实现Nginx反代
为什么要给这次的教程分享起这个名字呢?主要就是想吐槽下BTP的训练环境和阉割版国服生产环境差异还是比较大的。明明看着官方的step by
step教程来,却总是感觉自己和教程总有一个搞错了什么。结合实际案例,给大家带来国服CPI部署一命速通教程!
第一步 先进入BTP平台
https://cockpit.cn40.platform.sapcloud.cn
国服玩家大概率是阿里的服务器,登录地址是上面这个。具体是哪个,需要找客户要,SAP有给客户发一个交接邮件,上面会有BTP的登录地址,登录用的邮箱账号,用这个邮箱账号登录BTP平台。
第二步 创建子账户
子域是根据显示名称自动生成的,区域只有一个,父项默认也只有一个。根据实际情况,生产系统打上“用于生产”。
第三步 权力分配
选择要配置的子账户或目录,添加服务计划。
这里需要添加两个服务计划:Integration Suit,Process Integration Runtime。
添加后,可以进入下一步
第四步 进入子账号,租用运行环境
开发环境选择trial,生产环境选择standard
第五步 创建空间,并设置配额
分配配额到空间
第五步 依次租用服务
这个的步骤一定是先租用Integration Suite,分配角色,进入服务激活,然后再租用Process Integration
Runtime,分配角色。如果Integration Suite不先配置好,Process Integration Runtime就无法租用。
角色设置,现在先只添加Integration_Provisioner
先激活套件
慎重选择环境,不可更改
异步激活,点击OK退出等待
现在可以继续租用服务了
不确定是客户没有购买,还是国服被阉割,CPI不能使用API功能,我们只能把它当一个ESB来用,所以计划选择图片上的计划就可以了
参数这里点出client credentials和password。角色只有一个,没的选。
创建完成后,可以创建一个服务键值,方便后面cpi接口的调用
注意,生成的密码是有时间期间的,365天是最大有效期
创建完成后,记录clientid和clientsecret,可以在basic authorization中使用
现在才可以添加PI相关的权限
第六步 配置SCC,打通BTP到SAP方向的接口
感谢曹洪明,李宇辉,贾培星给予的技术支持
教程参考
https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/cloud-connector
https://learning.sap.com/learning-journeys/administrating-sap-business-
technology-platform/operating-cloud-connector
https://help.sap.com/docs/cloud-integration/sap-cloud-integration/sap-cloud-
integration
https://learning.sap.com/courses/sap-cloud-application-programming-model-delta
https://learning.sap.com/learning-journeys/developing-with-sap-integration-
suite
首先,你需要向客户申请一台服务器,可以保证sap ecc/PCE和它双向交互,可以让btp平台访问和这台服务器双向交互或者单纯由BTP平台入站这台服务器。
配置建议2核心4G运行内存,20G硬盘空间
操作系统建议Linux,官方推荐Oracle Linux 9,Red Hat Enterprise Linux 9,SUSE Linux
Enterprise Server 15。这里不推荐使用太古董操作系统,后期对Cloud Connector的版本有限制。我这里使用的是Red Hat
Enterprise Linux 8.10,后面使用有些麻烦,不推荐。
Red Hat 是Center OS停止支持服务后的替代品,国产替代可以试试OpenEuler。
如果你想在win环境下配置,也可以,图形化界面方便操作,就是系统资源占用较大。
首先去https://sap.github.io/SapMachine/下载JDK,最新的JDK是21版本。我的服务是X86架构的,这里下载Linux
X64(glibc)版本的。大部分服务器都自带了C语言的运行时库,可以直接下载
如果下载速度慢,可以想办法加速下github的访问
然后我们去https://tools.hana.ondemand.com/#cloud下载cloud connector
当前最新版是2.17.2,我不推荐下载portable版本的插件,因为不方便设置自启动。没有人喜欢重启服务器后跑一遍脚本吧?
现在你还需要一个ftp工具https://www.filezilla.cn/download/client在这里下载一个portable版本的就可以
首先用FTP工具登录服务器,把下载好的安装包上传到服务器中。这里放到了/tmp路径下
关闭ftp工具,打开电脑的cmd或者powershell命令窗口,访问服务器。
ssh root@ -p 22
然后输入密码,回车
输入以下命令,进入放了安装包的路径
cd /tmp
输入ls查看我们上传的文件
首先安装jdk
tar zxvf sapmachine-jdk-21.0.5_linux-x64_bin.tar.gz
解压完成后,我们把解压好的文件夹挪个路径
mv ./sapmachine-jdk-21.0.5/ /usr/bin/sapmachine-jdk-21.0.5
然后编辑环境变量
vim /etc/profile
在文件最后加上这么几句
export JAVA_HOME=/usr/bin/sapmachine-jdk-21.0.5
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
然后应用变量
source /etc/profile
测试下,ok
接下来安装scc插件
https://learning.sap.com/learning-journeys/administrating-sap-business-
technology-platform/operating-cloud-connector
首先解压缩
unzip sapcc-2.17.2-linux-x64.zip
然后安装解压出来的rpm安装包
rpm -i com.sap.scc-ui-2.17.2-6.x86_64.rpm
安装完成后,启动服务
systemctl start scc_daemon
设置自启动
systemctl enable scc_daemon
接下来算是危险操作,最好客户IT授权
关闭防火墙
systemctl stop firewalld.service
禁用防火墙服务自启动
systemctl disable firewalld.service
如果你技术足够好,可以慢慢的设置防火墙,这样是最安全的做法
现在输入exit退出ssh的连接转到我们的浏览器
输入https:// :8443
SCC的初始地址是通过端口8443进入的
证书问题,可以直接跳过继续访问
首次登录输入用户名密码
User Name: Administrator
Password: manage
然后要求修改一个密码
按照官方教程,我们应该生成下user interface的证书,但是如果客户无法忙我们签名证书,这一步跳过也可以。具体步骤可以参考官方教程。
点击configuration-on premise,点击按钮
生产一个自签名证书。如果上一步有签名的证书,这里可以上传那个证书。
实战指南 | ERP软件技术分享