如何在共享主机(例如 AqBanking)或托管 Debian 服务器上安装二进制包

如何在共享主机(例如 AqBanking)或托管 Debian 服务器上安装二进制包

我想在托管服务器(HostEurope)上的 Web 应用程序中使用 HBCI 家庭银行 AqBanking 软件,该服务器受到严格限制并且不允许软件包安装。

它在 Debian 8 上运行。

答案1

要求是 SSH 访问权限。不需要 root 访问权限,它也可以在某些受限制的 SSH 帐户上运行(例如 /proc 无法访问)

如果我考虑一下,你可能甚至不需要 SSH 访问权限。但它使调试变得更容易。

有几种方法可以做到这一点,从静态打包到安装:例如,我尝试了 JuJu junest,但由于某些原因失败了。

下面我们使用 docker 为 Debian 8 设置编译系统。同样的指南可能适用于其他目标发行版。只需使用来自 docker Hub 的相应 docker 镜像即可。

成功的关键是针对某个目标目录进行编译,以便二进制文件可以安装在那里。

  1. 找出您要放置二进制文件的目录,在我的例子中,这是类似的/is/htdocs/webuser/aqpak(我创建了文件夹aqpak,它是“AqBanking Package”的缩写)

  2. 在本地计算机上创建一些文件夹,例如aqpak

     mkdir aqpak
    
  3. 运行debian:8docker容器(或使用另一个,取决于你的目标系统)

     docker run --name aqBankingBuilder -v $PWD/output:/mnt -it debian:8 /bin/bash
    
  4. docker 容器内部发生以下事情 - 准备

     apt update && apt install -y vim
     vim /etc/apt/sources.list
    
  5. 在 VIM 中,复制 deb 行,使它们以 deb-src 开头

  6. 安装构建系统

     apt update && apt install -y build-essential wget 
     apt-get build-dep libgwenhywfar60 aqbanking-tools
    
  7. 开始构建(所有仍在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 中安装了必要的文件。

  1. 使用以下方式导出

     mv /is/htdocs/webuser/aqpak /mnt/aqpak
    
  2. 退出docker exit,然后将文件夹复制output/aqpak到目标服务器

  3. 要运行 aqbanking,您可以使用如下包装脚本:

    #!/bin/bash
    cd /is/htdocs/webuser/aqpak
    export LD_LIBRARY_PATH=~/aqpak/lib
    export PATH=~/aqpak/bin:$PATH
    aqbanking-cli $*
    

相关内容