2 WindowsでのZabbixエージェント2のビルド
概要
このセクションでは、Zabbixエージェント2 (Windows)をソースコードからビルドする方法を説明します。
MinGWコンパイラのインストール
1. SJLJ (set jump/long jump)例外処理と Windowsスレッドを備えたMinGW-w64をダウンロードします (例: x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z)\
- 解凍して、c:\mingwへ移動します。\
-
環境変数の設定をします。
@echo off set PATH=%PATH%;c:\mingw\bin cmd
コンパイル時に、MinGWが提供するMSYSターミナルの代わりにWindowsプロンプトを使用します。
PCRE開発者用ライブラリのコンパイル
次の手順で、64ビットPCREライブラリをc:\dev\pcreに、32ビットライブラリをc:\dev\pcre32にコンパイルしてインストールします。
1. PCREまたはPCRE2(Zabbix 6.0以降サポート) ライブラリ(https://pcre.org/)をダウンロードして解凍します。
2. cmd を開き、解凍されたソースに移動します。
64bit版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
32bit版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. 32bitと64bitのビルドをhttps://curl.se/windows/からダウンロードします。\
- 適宜、ファイルをc:\dev\openssl32およびc:\dev\opensslディレクトリに展開します。\
- その後、MinGWが静的ライブラリよりも優先されるため、展開した*.dll.a (dllコールラッパーライブラリ)を削除します。
管理者以外のユーザーによるOpenSSLインストールディレクトリ(C:\dev\openssl32またはC:\dev\openssl)への書き込み権限を必ず無効にしてください。無効にしないと、Zabbixエージェント2は権限のないユーザーが変更できるパスからSSL設定を読み込み、潜在的なセキュリティ脆弱性が発生します。
Zabbixエージェント2のコンパイル
32bit
MinGW環境(Windowsコマンドプロンプト)を起動し、Zabbixソースツリーのbuild/mingwディレクトリに移動します。
次のコマンドを実行します。
mingw32-make clean
mingw32-make ARCH=x86 PCRE=c:\dev\pcre32 OPENSSL=c:\dev\openssl32
64 bit
MinGW環境(Windowsコマンドプロンプト)を起動し、Zabbixソースツリーのbuild/mingwディレクトリに移動します。
次のコマンドを実行します。
mingw32-make clean
mingw32-make PCRE=c:\dev\pcre OPENSSL=c:\dev\openssl
32ビット版、64ビット版ともに64ビットプラットフォームでビルドすることができますが、32ビットプラットフォーム上でビルドできるのは32ビット版のみです。 32ビットプラットフォームで作業する場合は、64ビットプラットフォームの64ビット版と同じ手順を踏んでください。