Zabbix Documentation 3.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


manual:installation:install:win_agent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
manual:installation:install:win_agent [2018/11/15 06:19]
martins-v created; how to build Windows agent binaries with/without TLS
manual:installation:install:win_agent [2019/04/08 08:50] (current)
martins-v some reformatting
Line 1: Line 1:
-==== How to build Windows agent binaries with/​without TLS ====+==== Building ​Windows agent binaries with/​without TLS ====
  
-=== Compiling OpenSSL from sources on MS Windows 10 (64-bit) ​===+=== Overview === 
 + 
 +This section demonstrates how to build Windows agent binaries from sources with or without TLS. 
 + 
 +=== Compiling ​OpenSSL === 
 + 
 +The following steps will help you to compile ​OpenSSL from sources on MS Windows 10 (64-bit).
  
   - For compiling OpenSSL you will need on Windows machine:   - For compiling OpenSSL you will need on Windows machine:
Line 31: Line 37:
 </​code>'​install_sw'​ installs only software components (i.e. libraries, header files, but no documentation). If you want everything, use %%"​%%nmake install%%"​%%. </​code>'​install_sw'​ installs only software components (i.e. libraries, header files, but no documentation). If you want everything, use %%"​%%nmake install%%"​%%.
  
-=== Compiling Zabbix ​from sources on MS Windows 10 (64-bit) ​===+=== Compiling Zabbix ​with OpenSSL ​===
  
-When compiling Zabbix with/​without TLS support the only significant difference ​will be in step 4.+The following steps will help you to compile Zabbix from sources on MS Windows 10 (64-bit). ​When compiling Zabbix with/​without TLS support the only significant difference ​is in step 4.
  
 Support for OpenSSL 1.1.1 was added in 3.0.23, some additional fixes - in 3.0.24rc1. Support for OpenSSL 1.1.1 was added in 3.0.23, some additional fixes - in 3.0.24rc1.
  
   - On a Linux machine check out the source from SVN:<​code>​   - On a Linux machine check out the source from SVN:<​code>​
-$ svn co svn://​svn.zabbix.com/​tags/​3.0.24rc1 +$ svn co svn://​svn.zabbix.com/​tags/​3.0.24 
-$ cd 3.0.24rc1/+$ cd 3.0.24/
 $ ./​bootstrap.sh $ ./​bootstrap.sh
 $ ./configure --enable-agent --enable-ipv6 --prefix=`pwd` $ ./configure --enable-agent --enable-ipv6 --prefix=`pwd`
Line 45: Line 51:
 $ make dist $ make dist
 </​code>​ </​code>​
-  - Copy and unpack the archive, e.g. zabbix-3.0.24rc1.tar.gz, on a Windows machine. +  - Copy and unpack the archive, e.g. zabbix-3.0.24.tar.gz, on a Windows machine. 
-  - Let's assume that sources are in e:​\zabbix-3.0.24rc1. Open a commandline window e.g. the x64 Native Tools Command Prompt for VS 2017 RC. Go to e:\3.0.24rc1\build\win32\project.+  - Let's assume that sources are in e:​\zabbix-3.0.24. Open a commandline window e.g. the x64 Native Tools Command Prompt for VS 2017 RC. Go to e:\3.0.24\build\win32\project.
   - Compile zabbix_get, zabbix_sender and zabbix_agent.   - Compile zabbix_get, zabbix_sender and zabbix_agent.
     * without TLS: <​code>​     * without TLS: <​code>​
-E:\ zabbix-3.0.24rc1\build\win32\project>​ nmake /K+E:​\zabbix-3.0.24\build\win32\project>​ nmake /K
 </​code>​ </​code>​
-    * with TLS: <​code> ​<​code>​ +    * with TLS: <​code>​ 
-E:\ zabbix-3.0.24rc1\build\win32\project>​ nmake /K -f Makefile_get TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​ +E:​\zabbix-3.0.24\build\win32\project>​ nmake /K -f Makefile_get TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​ 
-E:\ zabbix-3.0.24rc1\build\win32\project>​ nmake /K -f Makefile_sender TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​ +E:​\zabbix-3.0.24\build\win32\project>​ nmake /K -f Makefile_sender TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​ 
-E:\ zabbix-3.0.24rc1\build\win32\project>​ nmake /K -f Makefile_agent TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​+E:​\zabbix-3.0.24\build\win32\project>​ nmake /K -f Makefile_agent TLS=openssl TLSINCDIR="​C:​\OpenSSL-Win64-111-static\include"​ TLSLIBDIR="​C:​\OpenSSL-Win64-111-static\lib"​
 </​code>​ </​code>​
-  - New binaries are located in e:​\zabbix-3.0.24rc1\bin\win64. Since OpenSSL was compiled with '​no-shared'​ option, Zabbix binaries contain OpenSSL within themselves and can be copied to other machines that do not have OpenSSL.+  - New binaries are located in e:​\zabbix-3.0.24\bin\win64. Since OpenSSL was compiled with '​no-shared'​ option, Zabbix binaries contain OpenSSL within themselves and can be copied to other machines that do not have OpenSSL. 
 + 
 +=== Compiling Zabbix with LibreSSL === 
 + 
 +The process is similar to compiling with OpenSSL, but you need to make small changes in files located in the ''​build\win32\project''​ directory:​ 
 +    * In ''​Makefile_tls''​ delete ''/​DHAVE_OPENSSL_WITH_PSK''​. i.e. find <​code>​ 
 +CFLAGS = $(CFLAGS) /​DHAVE_OPENSSL /​DHAVE_OPENSSL_WITH_PSK</​code>​and replace it with <​code>​ 
 +CFLAGS = $(CFLAGS) /​DHAVE_OPENSSL</​code>​ 
 +    * In ''​Makefile_common.inc''​ add ''/​NODEFAULTLIB:​LIBCMT''​ i.e. find <​code>​ 
 +/​MANIFESTUAC:"​level='​asInvoker'​ uiAccess='​false'"​ /​DYNAMICBASE:​NO /​PDB:​$(TARGETDIR)\$(TARGETNAME).pdb</​code>​and replace it with <​code>​ 
 +/​MANIFESTUAC:"​level='​asInvoker'​ uiAccess='​false'"​ /​DYNAMICBASE:​NO /​PDB:​$(TARGETDIR)\$(TARGETNAME).pdb /​NODEFAULTLIB:​LIBCMT</​code>​