2. Сборка Zabbix агента 2 на Windows
Обзор
В этом разделе иллюстрируется как собрать Zabbix агент 2 (Windows) из исходного кода.
Установка компилятора MinGW
- Загрузите MinGW-w64 с Обработкой Исключений SJLJ (set jump/long jump) и потоками Windows (например, x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z)\
- Извлеките архив и поместите содержимое в c:\mingw\
-
Задайте переменную среды
@echo off set PATH=%PATH%;c:\mingw\bin cmd
При компиляции используйте командную строку Windows вместо терминала MSYS, который поставляется с MinGW
Компиляция библиотек разработки PCRE
Следующие инструкции помогут скомпилировать и установить 64-битные библиотеки PCRE в c:\dev\pcre и 32-битные библиотеки в c:\dev\pcre32:
1. Загрузите библиотеку PCRE или PCRE2 (поддерживается, начиная с Zabbix 6.0) (https://pcre.org/) и извлеките содержимое
2. Откройте cmd и перейдите к извлечённому исходному коду
Сборка 64-битной PCRE
1. Удалите старую конфигурацию / кэш, если имеется:
del CMakeCache.txt
rmdir /q /s CMakeFiles
2. Запустите cmake (CMake можно установить с https://cmake.org/download/):
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-O2 -g" -DCMAKE_CXX_FLAGS="-O2 -g" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre
3. Затем выполните:
mingw32-make clean
mingw32-make install
Сборка 32-битной PCRE
1. Запустите:
mingw32-make clean
2. Удалите CMakeCache.txt:
del CMakeCache.txt
rmdir /q /s CMakeFiles
3. Запустите cmake:
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-m32 -O2 -g" -DCMAKE_CXX_FLAGS="-m32 -O2 -g" -DCMAKE_EXE_LINKER_FLAGS="-Wl,-mi386pe" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre32
4. Затем выполните:
mingw32-make install
Установка библиотек разработки OpenSSL
1. Загрузите 32- и 64-битные сборки с https://curl.se/windows/\
- Извлеките файлы в c:\dev\openssl32 и c:\dev\openssl директории соответственно.\
- После чего удалите извлечённые *.dll.a (библиотеки оболочки для вызова dll), так как MinGW ставит приоритет использования именно их перед использованием статических библиотек.
Обязательно отмените доступ на запись для пользователей, не являющихся администраторами, в каталог установки OpenSSL (C:\dev\openssl32 или C:\dev\openssl).
В противном случае Zabbix агент 2 будет загружать настройки SSL из пути, который могут изменить непривилегированные пользователи, что приведёт к потенциальной уязвимости безопасности.
Сборка Zabbix агент 2
32-битный
Откройте MinGW среду (командную строку Windows) и перейдите к директории build/mingw в дереве исходного кода Zabbix.
Выполните:
mingw32-make clean
mingw32-make ARCH=x86 PCRE=c:\dev\pcre32 OPENSSL=c:\dev\openssl32
64-битный
Откройте MinGW среду (командную строку Windows) и перейдите к директории build/mingw в дереве исходного кода Zabbix.
Выполните:
mingw32-make clean
mingw32-make PCRE=c:\dev\pcre OPENSSL=c:\dev\openssl
На 64-битной платформе можно собрать 32-битные и 64-битные версии, но на 32-битной платформе можно собрать только 32-битную версию. При работе на 32-битной платформе следуйте тем же шагам, что и для 64-битной версии на 64-битной платформе.