A customer of mine wants to integrate harbour code for his ERP into an online shop - with mod_harbour or modharbour.exe as fastcgi service.
At the moment, we want to use a Windows Server 2019 installation. Our main goal is to circumvent to rewrite all the code in PHP.
Unfortunately, installation out of the box works only with Apache and mod_harbour on Windows Server 2019, but mod_harbour is very slow. On our testserver we get response time around 700ms just with a simple "Hello World" script.
Installing modharbour as fastcgi service has errors on Windows and Linux Debian (see below)
On IIS installing neither mod_harbour as an IIS module or as a fastcgi handler works.
Since mod_harbour as a module is slow, how can I setup mod_harbour as a fastcgi handler or as a proxy-fastcgi-Service in Windows Server 2019?
My Installation tries:Windows Server 2019As IIS module:mod_harbour.dll
Browser error: "mod_harbour error:C:\Windows\TEMP\libharbour.1028.950 The module was not found."
With FastCGI:modharbour.exe - call with double click:
Windows alert: "The code execution cannot proceed because ace64.dll was not found."
-> copy ace32.dll from "mod_harbour/ads/Program Files 64/Advantage 9.0/Server" to directory with modharbour.exe:
Windows alert: "The ordinal number 521 was not found in the DLL modharbour.exe" (but in the renamed "ace64.dll" there is an ordinal number 521)
modharbour.exe - registering as fastcgi handler in IIS is resulting in undefinied 500 errors (guess the problem is also the missing dependencies).
modharbour.exe: Inspection via software "Dependencies" (https://github.com/lucasg/Dependencies):"C:\Windows\system32\WS2_32.dll module has missing imports"
"ace64.dll could not be found on disk"
"C:\Windows\system32\OLEAUT32.dll module has missing imports"
Debian 9 Stretch (for comparison Linux/Windows)modharbour via Apache module mod_harbour.so:Error: mod_harbour version Jul 14 2020, 14:33:26/tmp/libharbour.507655936.916993992: cannot open shared object file: No such file or directory, failed to load hb_apache()
I symlinked ln -sf ~/mod_harbour/linux/libharbour.so.3.2.0 libharbour.so.3.2.0 in different directories:
var/www/html
var/www
var/customers (with froxlor as admin tool)
var/curtomers/webs (with froxlor as admin tool)
No success, always the above error occurs.
Debian: modharbour via fcgi:Following the steps described in readme.md in "mod_harbour/fastcgi/linux" results in a oviously missing libcurl.so-File.
The Apache error_log says: "/usr/bin/modharbour: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /usr/bin/modharbour)"
Inspection of the dependencies of modharbour ("ldd modharbour") I get the following result:
./modharbour: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by ./modharbour)
linux-vdso.so.1 (0x00007fff01b85000)
libfcgi.so.0 => /usr/lib/libfcgi.so.0 (0x00007f6b7134c000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f6b70746000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f6b704da000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f6b7003f000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6b6fd3b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6b6fb1e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6b6f91a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f6b6f712000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6b6f373000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6b71143000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f6b6f14d000)
libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f6b6ef00000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f6b6ece3000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f6b6eab6000)
libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f6b6e8a8000)
libssl.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2 (0x00007f6b6e63f000)
libcrypto.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 (0x00007f6b6e1d8000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f6b6df8d000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f6b6dcb3000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f6b6da80000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f6b6d87c000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f6b6d66d000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f6b6d41c000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6b6d202000)
libunistring.so.0 => /usr/lib/x86_64-linux-gnu/libunistring.so.0 (0x00007f6b6ceeb000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f6b6cb52000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f6b6c91d000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f6b6c6e6000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f6b6c463000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f6b6c153000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f6b6bf47000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f6b6bd43000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6b6bb2c000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f6b6b911000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f6b6b6ac000)
libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007f6b6b478000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f6b6b265000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6b6b051000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f6b6ae48000)
The files in /usr/lib/x86_64-linux-gnu are/libcurl.so -> symlink to libcurl.so.4.4.0
libcurl.so.3 -> symlink to libcurl.so.4
libcurl.so.4 -> symlink to libcurl.so.4.4.0
libcurl.so.4.4.0
libcurl-gnutls.so.3 -> symlink to libcurl-gnutls.so.4
libcurl-gnutls.so.4 -> symlink to libcurl-gnutls.so.4.4.0
libcurl-gnutls.so.4.4.0
Perhaps someone can give me some hints solving this problems?