Овај одељак показује како да направите бинарне датотеке Zabbix Windows агента из извора са или без TLS-а.
Следећи кораци ће вам помоћи да саставите OpenSSL из извора на MS Windows 10 (64-битни).
Пре него што наставите, проверите да ли Windows машина има:
Преузмите OpenSSL изворе са https://www.openssl.org/. Овај пример користи OpenSSL 1.1.1.
Распакујте OpenSSL изворе, на пример, у E:\openssl-1.1.1.
Отворите прозор командне линије, као што је x64 Native Tools Command Prompt за VS 2017 RC.
Идите у OpenSSL изворни директоријум (у овом водичу E:\\openssl-1.1.1.
) и проверите да ли се NASM може пронаћи:
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
...
Сви тестови успешни.
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
инсталира само софтверске компоненте (тј. библиотеке, датотеке заглавља, али не и документацију). Да бисте све инсталирали, користите nmake install
.
Преузмите PCRE или PCRE2 библиотеку (https://pcre.org/).
Распакујте у директоријум E:\pcre2-10.39.
Инсталирајте CMake са https://cmake.org/download/, током инсталације изаберите: и уверите се да је cmake\bin на вашој путањи (тестирана верзија 3.9.4).
Креирајте нови, празан директоријум за изградњу, по могућности поддиректоријум изворног директоријума. На пример, E:\pcre2-10.39\build.
Отворите прозор командне линије, нпр. командну линију x64 изворних алата за VS 2017 и из тог окружења љуске покрените cmake-gui. Не покушавајте да покренете Cmake из Windows Start менија, јер то може довести до грешака.
Унесите E:\pcre2-10.39 и E:\pcre2-10.39\build за изворни директоријум и директоријум за изградњу, респективно.
Кликните на дугме "Конфигуриши".
Када наведете генератор за овај пројекат изаберите "NMake Makefiles".
Креирајте нови, празан директоријум за инсталацију. На пример, E:\pcre2-10.39-install.
GUI ће затим навести неколико опција конфигурације. Уверите се да су изабране следеће опције:
- **PCRE\_SUPPORT\_UNICODE\_PROPERTIES** ON
- **PCRE\_SUPPORT\_UTF** ON
- **CMAKE\_INSTALL\_PREFIX** *E:\\pcre2-10.39-install*
Поново кликните на "Конфигуриши". Суседно дугме "Генериши" би сада требало да буде активно.
Кликните на "Генериши".
Ако дође до било какве грешке, препоручује се да избришете CMake кеш пре него што покушате да поновите процес изградње CMake. У CMake GUI-у, кеш се може избрисати избором "Датотека > Избриши кеш".
Директоријум за изградњу сада треба да садржи употребљив систем градње - Makefile.
Отворите прозор командне линије као што је x64 Native Tools Command Prompt за VS 2017 и идите до горе поменутог Makefile.
Покрените NMake команду:
E:\pcre2-10.39\build> nmake install
Следећи кораци ће вам помоћи да компајлирате Zabbix из изворног кода на MS Windows 10 (64-bit). Приликом компајлирања Zabbix-а са/без TLS подршке једина значајна разлика је у кораку 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
Копирајте и распакујте архиву, нпр. zabbix-7.0.0.tar.gz
, на Windows машини.
Претпоставимо да су извори на E:\zabbix-7.0.0. Отворите прозор командне линије, као што је x64 Native Tools Command Prompt за VS 2017 RC. Идите на:
E:\\zabbix-7.0.0\\build\\win32\\project
без TLS-а:
E:\zabbix-7.0.0\build\win32\project> nmake /K PCRE2INCDIR=E:\pcre2-10.39-install\include PCRE2LIBDIR=E:\pcre2-10.39-install\lib
са TLS-ом:
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 PCRE2INCDIR=E:\pcre2-10.39-install\include PCRE2LIBDIR=E:\pcre2-10.39-install\libE:\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" PCRE2INCDIR=E:\pcre2-10.39-install\include PCRE2LIBDIR=E:\pcre2-10.39-install\libE:\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 PCRE2INCDIR=E:\pcre2-10.39-install\include PCRE2LIBDIR=E:\pcre2-10.39-install\lib
Процес је сличан компајлирању са OpenSSL-ом, али морате да направите мале измене у датотекама које се налазе у директоријуму build\win32\project
:
/DHAVE_OPENSSL_WITH_PSK
Да бисте то урадили, пронађите:
CFLAGS = $(CFLAGS) /DHAVE_OPENSSL /DHAVE_OPENSSL_WITH_PSK
и замените га са
CFLAGS = $(CFLAGS) /DHAVE_OPENSSL
/NODEFAULTLIB:LIBCMT
Да бисте то урадили, пронађите:
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO
/PDB:$(TARGETDIR)\$(TARGETNAME).pdb
и замените га са
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO
/PDB:$(TARGETDIR)\$(TARGETNAME).pdb /NODEFAULTLIB:LIBCMT