Cette section explique comment créer des binaires d'agent Windows à partir de sources avec ou sans TLS.
Les étapes suivantes vous aideront à compiler OpenSSL à partir de sources sur MS Windows 10 (64 bits).
e:\openssl-1.1.1> nasm --version NASM version 2.13.01 compiled on May 1 2017
e:\openssl-1.1.1> perl E:\openssl-1.1.1\Configure VC-WIN64A no-shared no-capieng no-srp no-gost no-dgram no-dtls1-method no-dtls1_2-method --api=1.1.0 --prefix=C:\OpenSSL-Win64-111-static --openssldir=C:\OpenSSL-Win64-111-static
e:\openssl-1.1.1> nmake e:\openssl-1.1.1> nmake test ... All tests successful. Files=152, Tests=1152, 501 wallclock secs ( 0.67 usr + 0.61 sys = 1.28 CPU) Result: PASS e:\openssl-1.1.1> nmake install_sw
'install_sw' installe uniquement les composants logiciels (c'est-à-dire les bibliothèques, les fichiers d'en-tête, mais pas la documentation). Si vous voulez tout, utilisez "nmake install".
E:\pcre-8.41\build> nmake install
Les étapes suivantes vous aideront à compiler Zabbix à partir des sources sur MS Windows 10 (64 bits). Lors de la compilation de Zabbix avec/sans prise en charge TLS, la seule différence significative réside à l’étape 4.
La prise en charge d’OpenSSL 1.1.1 a été ajoutée à la version 4.0.1 et à quelques corrections supplémentaires - dans la version 4.0.2rc1.
$ git clone https://git.zabbix.com/scm/zbx/zabbix.git $ cd zabbix $ git checkout 4.0.22 -b 4.0.22 $ ./bootstrap.sh $ ./configure --enable-agent --enable-ipv6 --prefix=`pwd` $ make dbschema $ make dist
E:\zabbix-4.0.2\build\win32\project> nmake /K PCREINCDIR=E:\pcre-8.41-install\include PCRELIBDIR=E:\pcre-8.41-install\lib
E:\zabbix-4.0.2\build\win32\project> nmake /K -f Makefile_get TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111-static\lib PCREINCDIR=E:\pcre-8.41-install\include PCRELIBDIR=E:\pcre-8.41-install\lib E:\zabbix-4.0.2\build\win32\project> nmake /K -f Makefile_sender TLS=openssl TLSINCDIR="C:\OpenSSL-Win64-111-static\include TLSLIBDIR="C:\OpenSSL-Win64-111-static\lib" PCREINCDIR=E:\pcre-8.41-install\include PCRELIBDIR=E:\pcre-8.41-install\lib E:\zabbix-4.0.2\build\win32\project> nmake /K -f Makefile_agent TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111-static\lib PCREINCDIR=E:\pcre-8.41-install\include PCRELIBDIR=E:\pcre-8.41-install\lib
La procédure est similaire à la compilation avec OpenSSL, mais vous devez apporter de petites modifications aux fichiers situés dans le répertoire build\win32\project
:
Makefile_tls
, supprimez /DHAVE_OPENSSL_WITH_PSK
, c'est-à-dire trouvezet remplacez le par
Makefile_common.inc
, ajoutez /NODEFAULTLIB:LIBCMT
c'est-à-dire trouvez/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO /PDB:$(TARGETDIR)\$(TARGETNAME).pdb
et remplacez le par