Aquesta secci¨® ensenya com crear binaris d'agent Áú»¢¶Ä²© macOS a partir de fonts amb o sense TLS.
Us caldran les eines de desenvolupament de l¨ªnia de comandes (no cal Xcode), Automake, pkg-config i PCRE (v8.x) o PCRE2 (v10.x). Si voleu crear binaris d'agent amb TLS, tamb¨¦ haureu de menester OpenSSL o GnuTLS.
Per instal¡¤lar Automake i pkg-config us caldr¨¤ el gestor de paquets, Homebrew disponible a . Per instal¡¤lar-lo, obriu el terminal i executeu l'ordre seg¨¹ent:
Tot seguit, instal¡¤leu Automake i pkg-config:
La preparaci¨® de les biblioteques PCRE, OpenSSL i GnuTLS dep¨¨n de com s'enlla?aran a l'agent.
Si teniu intenci¨® d'executar binaris d'agent en una m¨¤quina macOS que ja t¨¦ aquestes biblioteques, podeu emprar biblioteques precompilades proporcionades per Homebrew. Normalment s¨®n m¨¤quines macOS que empren Homebrew per crear binaris d'agent Áú»¢¶Ä²© o amb altres finalitats.
Si els binaris d'agent s'empren a m¨¤quines macOS que no tenen la versi¨® compartida de les biblioteques, haureu de compilar les biblioteques est¨¤tiques des de la font i enlla?ar l'agent Áú»¢¶Ä²© amb elles.
Instal¡¤leu PCRE2 (canvieu pcre2 per pcre a les comandes d'aqu¨ª sota, si cal):
Quan es compili amb TLS, instal¡¤leu OpenSSL i/o GnuTLS:
Descarregueu les fonts de Áú»¢¶Ä²© :
Compileu l'agent sense TLS :
cd zabbix
./bootstrap.sh
./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6
make
make install
Compileu l'agent amb OpenSSL :
cd zabbix
./bootstrap.sh
./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6 --with-openssl=/usr/local/opt/openssl
make
make install
compileu l'agent amb GnuTLS :
cd zabbix-source/
./bootstrap.sh
./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6 --with-gnutls=/usr/local/opt/gnutls
make
make install
Suposem que les biblioteques est¨¤tiques PCRE siguin installades a $HOME/static-libs
. Emprarem PCRE2 10.39.
Descarregueu i creeu PCRE amb el suport de les propietats d'Unicode:
mkdir static-libs-source
cd static-libs-source
curl --remote-name https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz
tar xf pcre2-10.39.tar.gz
cd pcre2-10.39
./configure --prefix="$PCRE_PREFIX" --disable-shared --enable-static --enable-unicode-properties
make
make check
make install
Descarregueu les fonts Áú»¢¶Ä²© i compileu l'agent :
git clone https://git.zabbix.com/scm/zbx/zabbix.git
cd zabbix
./bootstrap.sh
./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6 --with-libpcre2="$PCRE_PREFIX"
make
make install
Quan es construeix OpenSSL, es recomana executar "make test" despr¨¦s d'una compilaci¨® correcta. Fins i tot si la compilaci¨® ¨¦s correcta, les proves de vegades fallen. Si ¨¦s aix¨ª, els problemes s'han d'investigar i resoldre abans de continuar.
Suposem que les biblioteques est¨¤tiques PCRE i OpenSSL s'instal¡¤laran a $HOME/static-libs
. Farem servir PCRE2 10.39 i OpenSSL 1.1.1a.
Poseu les biblioteques est¨¤tiques a static-libs-source
:
Descarregueu i creeu PCRE amb les propietats admeses d'Unicode:
curl --remote-name https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz
tar xf pcre2-10.39.tar.gz
cd pcre2-10.39
./configure --prefix="$PCRE_PREFIX" --disable-shared --enable-static --enable-unicode-properties
make
make check
make install
cd ..
Descarregueu i creeu OpenSSL :
curl --remote-name https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar xf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a
./Configure --prefix="$OPENSSL_PREFIX" --openssldir="$OPENSSL_PREFIX" --api=1.1.0 no-shared no-capieng no-srp no-gost no-dgram no-dtls1-method no-dtls1_2-method darwin64-x86_64-cc
make
make test
make install_sw
cd ..
Descarregueu les fonts Áú»¢¶Ä²© i compileu l'agent:
git clone https://git.zabbix.com/scm/zbx/zabbix.git
cd zabbix
./bootstrap.sh
./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6 --with-libpcre2="$PCRE_PREFIX" --with-openssl="$OPENSSL_PREFIX"
make
make install
GnuTLS dep¨¨n del backend de xifrat de Nettle i de la biblioteca aritm¨¨tica GMP. En lloc d'emprar la biblioteca GMP completa, aquesta guia emprar¨¤ mini-gmp que s'inclou amb Nettle.
Quan es construeix GnuTLS i Nettle, es recomana executar make check
despr¨¦s d'una compilaci¨® correcta. Fins i tot si la compilaci¨® ¨¦s correcta, les proves de vegades fallen. Si ¨¦s aix¨ª, els problemes s'han d'investigar i resoldre abans de continuar.
Suposem que les biblioteques est¨¤tiques PCRE, Nettle i GnuTLS s'instal¡¤laran a $HOME/static-libs
. Farem anar PCRE2 10.39, Nettle 3.4.1 i GnuTLS 3.6.5.
PCRE_PREFIX="$HOME/static-libs/pcre2-10.39"
NETTLE_PREFIX="$HOME/static-libs/nettle-3.4.1"
GNUTLS_PREFIX="$HOME/static-libs/gnutls-3.6.5"
Copiem les biblioteques est¨¤tiques a static-libs-source
:
Descarregueu i compileu Nettle :
curl --remote-name https://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz
tar xf nettle-3.4.1.tar.gz
cd nettle-3.4.1
./configure --prefix="$NETTLE_PREFIX" --enable-static --disable-shared --disable-documentation --disable-assembler --enable-x86-aesni --enable-mini-gmp
make
make check
make install
cd ..
T¨¦l¨¦chargez et compilez GnuTLS :
curl --remote-name https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.5.tar.xz
tar xf gnutls-3.6.5.tar.xz
cd gnutls-3.6.5
PKG_CONFIG_PATH="$NETTLE_PREFIX/lib/pkgconfig" ./configure --prefix="$GNUTLS_PREFIX" --enable-static --disable-shared --disable-guile --disable-doc --disable-tools --disable-libdane --without-idn --without-p11-kit --without-tpm --with-included-libtasn1 --with-included-unistring --with-nettle-mini
make
make check
make install
cd ..
Descarregueu les fonts de Áú»¢¶Ä²© i compileu l'agent:
git clone https://git.zabbix.com/scm/zbx/zabbix.git
cd zabbix
./bootstrap.sh
CFLAGS="-Wno-unused-command-line-argument -framework Foundation -framework Security" \
> LIBS="-lgnutls -lhogweed -lnettle" \
> LDFLAGS="-L$GNUTLS_PREFIX/lib -L$NETTLE_PREFIX/lib" \
> ./configure --sysconfdir=/usr/local/etc/zabbix --enable-agent --enable-ipv6 --with-libpcre2="$PCRE_PREFIX" --with-gnutls="$GNUTLS_PREFIX"
make
make install