2014年应部门要求搭建Zabbix,不过当时对Linux虽不是新手但程度很低,当时编译时未启用全部模块,后续承担维护了2年的Zabbix,也积累了一点经验,现在回头来在测试环境上试着搭建一次最新版的Zabbix LTS,因为不想安装Apache httpd故没有采用Zabbix官方源安装,转而选择采用编译安装。期间执行configure时遇到了不少依赖库的识别问题(也就是库安装后configure不识别),经过一阵研究后就Ubuntu 18.04.1 LTS下编译Zabbix 4.0.4做总结如下。
软件平台:Ubuntu 18.04.1 LTS amd64
硬件平台:Intel NUC5CPYH
要安装的软件包(nginx和php这块基本是装全了,因此装了一些zabbix用不到的模块。实际Zabbix并不会用到这么多模块。nginx-extras增加了一些附加模块诸如lua-nginx在后续使用中会更具弹性)
#apt install autoconf gcc g++ make cmake pkg-config nginx-extras php7.2-fpm php7.2-gd php7.2-bcmath php7.2-xml php7.2-xmlrpc php7.2-mbstring php7.2-gettext php7.2-ldap php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-zip php7.2-curl php7.2-imap php7.2-json php7.2-opcache php7.2-pspell php7.2-readline php7.2-snmp mariadb-server mariadb-client libmariadb-dev libmariadb-dev-compat libiksemel-dev libxml2-dev unixodbc-dev libsnmp-dev libssh2-1-dev libopenipmi-dev libevent-dev openjdk-8-jdk libldap2-dev libcurl4-openssl-dev
接着zabbix要支持加密连接就需要引用加密库,有三种可以选择gnutls、openssl(libssl)和mbedtls(polarssl),由于mbedtls支持的加密方式较多,在笔者没有研究zabbix需要哪些加密支持的情况下就直接选择了mbedtls。而zabbix不支持新版mbedtls(mbedtls2),而Ubuntu 18.04官方软件仓库里提供的就是mbedtls2,因此上面的安装命令行里并不包含libmbedtls-dev,那么就需要自己编译安装了。好在mbedtls编译并不复杂,上面的命令把zabbix编译必须的软件装完了,mbedtls所需要的头文件和编译工具也都装上了,直接去官网https://tls.mbed.org/download-archive下载polarssl-1.3.9版本直接编译安装即可。
上述都做完了后,用以下命令行编译zabbix即可(启用zabbix的全部功能)
./configure --prefix=/data/Programs/zabbix --enable-server --enable-proxy --enable-agent --enable-java --enable-ipv6 --with-mysql --with-net-snmp --with-openipmi --with-zlib --with-libpthread --with-libevent --with-ldap --with-libpcre --with-iconv --with-libxml2 --with-libcurl --with-mbedtls --with-jabber --with-unixodbc --with-ssh2
请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。
本文链接地址: Ubuntu 18.04 编译安装 Zabbix 4.0.4