Aquesta secció ensenya com crear binaris d'agent Zabbix Windows a partir de fonts amb o sense TLS.
Les passes següents us ajudaran a compilar OpenSSL des de la font a MS Windows 10 (64 bits).
e:\openssl-1.1.1> nasm --version NASM versió 2.13.01 compilada l'1 de maig de 2017
e:\openssl-1.1.1> perl E:\openssl-1.1.1\Configura 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> test nmake ... All tests successful. Fitxers=152, proves=1152, 501 segons de rellotge de paret (0,67 usr + 0,61 sys = 1,28 CPU) Resultat: PASS e:\openssl-1.1.1> nmake install_sw
'install_sw' només instal·la components de programari (és a dir, biblioteques, fitxers de capçalera, però sense documentació). Si ho voleu tot, empreu "nmake install".E:\pcre2-10.39\build> nmake install
Les passes següents us ajudaran a compilar Zabbix des de la font a MS Windows 10 (64 bits). Quan es compila Zabbix amb/sense suport TLS, l'única diferència significativa es troba a la passa 4.
$ git clone https://git.zabbix.com/scm/zbx/zabbix.git $ cd zabbix $ ./bootstrap.sh $ ./configure --enable-agent --enable-ipv6 --prefix=`pwd` $ make dbschema $ make dist
E:\\zabbix-4.4.0\\build\\win32\\project
.E:\zabbix-7.0.0\build\win32\project> nmake /K PCREINCDIR=E:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib
E:\zabbix-7.0.0\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:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib E:\zabbix-7.0.0\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:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib E:\zabbix-7.0.0\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:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib
El procés és similar a la compilació amb OpenSSL, però cal fer petits canvis als fitxers que es troben al directori build\win32\project
:
/DHAVE_OPENSSL_WITH_PSK
, per exemple cerqueu:CFLAGS = $(CFLAGS) /DHAVE\_OPENSSL /DHAVE\_OPENSSL\_WITH\_PSK
i substituïu per
CFLAGS = $(CFLAGS) /DHAVE_OPENSSL
/NODEFAULTLIB:LIBCMT
i, per exemple, cerqueu:/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO /PDB:$(TARGETDIR)\\$(TARGETNAME).pd
i substituïu per:
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO /PDB:$(TARGETDIR)\$(TARGETNAME).pdb /NODEFAULTLIB:LIBCMT