1 安装前准备:
1.1 安装JDK
卸载openjdk
# rpm -qa | grep Java
# yum remove java-1.8.0-openjdk
# yum remove java-1.8.0-openjdk-headless
安装JDK包
# rpm -ivh jdk-8u191-linux-x64.rpm
1.2 安装依赖包
# yum install -y net-snmp net-snmp-devel OpenIPMI-devel libssh2-devel openldap-devel openldap-clients libxml2-devel libcurl-devel gcc msyql-devel libevent-devel php-MySQL php-gd php-mbstring php-bcmath libjpeg-devel freetype-devel libpng-devel php-xml keyutils-libs-devel krb5-devel libcom_err-devel libkadm5 libselinux-devel libsepol-devel openssl-devel pcre-devel zlib-devel
以下3个包在DVD1中没有包含,如果配置的是本地yum源,需要单独安装
# yum install -y libevent-devel-2.0.21-4.el7.x86_64.rpm
# yum install -y libssh2-devel-1.4.3-12.el7.x86_64.rpm
# yum install -y OpenIPMI-devel-2.0.23-2.el7.x86_64.rpm
安装完依赖包以后可以使用以下命令检查是否都安装成功
# rpm -qa net-snmp net-snmp-devel OpenIPMI-devel libssh2-devel openldap-devel openldap-clients libxml2-devel libcurl-devel gcc msyql-devel libevent-devel php-mysql php-gd php-mbstring php-bcmath libjpeg-devel freetype-devel libpng-devel php-xml keyutils-libs-devel krb5-devel libcom_err-devel libkadm5 libselinux-devel libsepol-devel openssl-devel pcre-devel zlib-devel
1.3 安装MySQL
详见MySQL安装文档
1.4 安装nginx
# tar -zxvf nginx-1.14.0.tar.gz -C /home
# cd /home/nginx-1.14.0/
# ./configure
# make & make install
1.5 安装PHP
# yum install -y php
# yum install -y php-fpm-5.4.16-46.el7.x86_64.rpm
2 安装服务:
2.1 编译安装zabbix
# groupadd --system zabbix
# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin zabbix
# tar -zxvf zabbix-4.0.4.tar.gz -C /home
# cd /home/zabbix-4.0.4/
# ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-ldap --with-ssh2 --with-openipmi --enable-java --with-openssl
# make install
2.2 创建数据库
# mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@"serverip" identified by '<password>';
mysql> quit
# cd /home/zabbix-4.0.4/database/mysql
# mysql -uzabbix -p<password> zabbix < schema.sql
# mysql -uzabbix -p<password> zabbix < images.sql
# mysql -uzabbix -p<password> zabbix < data.sql
2.3 修改配置
# vim /usr/local/zabbix/etc/zabbix_server.conf
DBPassword=<password>
2.4 启动服务
# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
# /usr/local/zabbix/sbin/zabbix_java/startup.sh
注:/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
报以上错误的处理方案:
# find / -name libmysqlclient.so.20
/home/mysql/lib/libmysqlclient.so.20
# echo "/home/mysql/lib" >> /etc/ld.so.conf
# ldconfig
然后重新启动服务
3 安装前端:
3.1 配置nginx
# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
proxy_buffer_size 128k;
proxy_buffers 32 32k;
client_header_buffer_size 64k;
large_client_header_buffers 8 128k;
access_log /usr/local/nginx/logs/zabbix.access.log main;
error_log /usr/local/nginx/logs/zabbix.error.log error;
location / {
root html;
index index.php index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
}
注:去掉上面 log_format 的注释
3.2 配置PHP
# vim /etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Asia/Shanghai
# vim /etc/php-fpm.d/www.conf
[www]
listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock