![如何在共享主机(例如 AqBanking)或托管 Debian 服务器上安装二进制包](https://linux22.com/image/730500/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%85%B1%E4%BA%AB%E4%B8%BB%E6%9C%BA%EF%BC%88%E4%BE%8B%E5%A6%82%20AqBanking%EF%BC%89%E6%88%96%E6%89%98%E7%AE%A1%20Debian%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%8C%85%20.png)
我想在托管服务器(HostEurope)上的 Web 应用程序中使用 HBCI 家庭银行 AqBanking 软件,该服务器受到严格限制并且不允许软件包安装。
它在 Debian 8 上运行。
答案1
要求是 SSH 访问权限。不需要 root 访问权限,它也可以在某些受限制的 SSH 帐户上运行(例如 /proc 无法访问)
如果我考虑一下,你可能甚至不需要 SSH 访问权限。但它使调试变得更容易。
有几种方法可以做到这一点,从静态打包到安装:例如,我尝试了 JuJu junest,但由于某些原因失败了。
下面我们使用 docker 为 Debian 8 设置编译系统。同样的指南可能适用于其他目标发行版。只需使用来自 docker Hub 的相应 docker 镜像即可。
成功的关键是针对某个目标目录进行编译,以便二进制文件可以安装在那里。
找出您要放置二进制文件的目录,在我的例子中,这是类似的
/is/htdocs/webuser/aqpak
(我创建了文件夹aqpak
,它是“AqBanking Package”的缩写)在本地计算机上创建一些文件夹,例如
aqpak
mkdir aqpak
运行
debian:8
docker容器(或使用另一个,取决于你的目标系统)docker run --name aqBankingBuilder -v $PWD/output:/mnt -it debian:8 /bin/bash
docker 容器内部发生以下事情 - 准备
apt update && apt install -y vim vim /etc/apt/sources.list
在 VIM 中,复制 deb 行,使它们以 deb-src 开头
安装构建系统
apt update && apt install -y build-essential wget apt-get build-dep libgwenhywfar60 aqbanking-tools
开始构建(所有仍在docker内)
export PREFIX=/is/htdocs/webuser/aqpak/root cd /root wget "https://www.aquamaniac.de/sites/download/download.php?package=01&release=208&file=02&dummy=gwenhywfar-4.20.0.tar.gz" -O gwenhywfar.tar.gz tar -zxf gwenhywfar.tar.gz cd gwenhywfar ./configure --prefix=$PREFIX && make && make install cd /root wget "https://www.aquamaniac.de/sites/download/download.php?package=03&release=217&file=02&dummy=aqbanking-5.7.8.tar.gz" -O aqbanking.tar.gz tar -zxf aqbanking.tar.gz cd aqbanking ./configure --prefix=$PREFIX && make && make install
现在您已经在 docker 系统上的 /is/htdocs/webuser/aqpak 中安装了必要的文件。
使用以下方式导出
mv /is/htdocs/webuser/aqpak /mnt/aqpak
退出docker
exit
,然后将文件夹复制output/aqpak
到目标服务器要运行 aqbanking,您可以使用如下包装脚本:
#!/bin/bash cd /is/htdocs/webuser/aqpak export LD_LIBRARY_PATH=~/aqpak/lib export PATH=~/aqpak/bin:$PATH aqbanking-cli $*