1、安装PHP
1.1 安装依赖包
yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y
ZABBIX对PHP参数、PHP模块有特殊要求。PHP安装要注意添加如下模块:
a、bcmath --enable-bcmath
b、mbstring --enable-mbstring
c、sockets --enable-sockets
d、gd --with-gd
e、libxml --with-libxml-dir=/usr/local
f、xmlwriter --同上
g、xmlreader --同上
h、ctype --默认支持
i、session --默认支持
j、gettext --默认支持
1.2 编译源码
./configure –prefix=/usr/local/php-5.6.18
–with-config-file-path=/usr/local/php-5.6.18/etc –with-bz2 –with-curl –enable-ftp –enable-sockets –disable-ipv6 –with-gd –with-jpeg-dir=/usr/local –with-png-dir=/usr/local –with-freetype-dir=/usr/local –enable-gd-native-ttf –with-iconv-dir=/usr/local –enable-mbstring –enable-calendar –with-gettext –with-libxml-dir=/usr/local –with-zlib –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-mysql=mysqlnd –enable-dom –enable-xml –enable-fpm –with-libdir=lib64 –enable-bcmathmake && make install
ln -s /usr/local/php-5.6.18 /usr/local/php # 创建软链接
1.3 调整PHP参数
cp php.ini-production /usr/local/php-5.6.18/etc/php.ini
zabbix的安装需要调整和设置如下参数的值:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = PRC
always_populate_raw_post_data = -1
1.4 启动php-fpm
cp /usr/local/php-5.6.18/etc/php-fpm.conf.default /usr/local/php-5.6.18/etc/php-fpm.conf
/usr/local/php-5.6.18/sbin/php-fpm
2、安装Nginx
2.1 安装依赖包
为了支持rewrite功能,需要安装pcre、如果需要ssl支持,安装openssl。
yum install pcre* openssl* -y
2.2 配置测试站点(非必要)
mkdir -p /www/logs/nginx/ 用于存放nginx日志
mkdir -p /www/site/zabbix/ 站点根目录
vi /www/site/zabbix/info.php
2.3 编译源码
./configure –prefix=/usr/local/nginx-1.12.2 –with-http_ssl_module –with-http_stub_status_module –with-pcre
make && make install
ln -s /usr/local/nginx-1.12.2 /usr/local/nginx
--with-http_stub_status_module:支持nginx状态查询
--with-http_ssl_module: 支持https
--with-http_spdy_module:支持google的spdy(加快网页打开的速度),必须有ssl的支持。nginx1.6已经内置spdy
--with-pcre:为了支持rewrite重写功能,必须制定pcre
2.4 Nginx的启动/关闭/重置
/usr/local/nginx-1.12.2/sbin/nginx
/usr/local/nginx-1.12.2/sbin/nginx -s stop
/usr/local/nginx-1.12.2/sbin/nginx -s reload
2.5 配置虚拟主机
设置日志格式,在nginx.conf找到如下内容,并且将下列行的#注释标志去掉:
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
vi /usr/local/nginx-1.12.2/conf/nginx.conf
user zabbix;
worker_processes 4;
error_log /www/logs/nginx/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
use epoll; #I/O Multiplexing
worker_connections 1024; #connection number
}
server{
listen 80;
server_name 10.10.200.201;
root /www/site/zabbix;
access_log /www/logs/nginx/zabbix-access.log main;
location / {
root /www/site/zabbix;
index index.php index.html index.htm;
}
......
location ~ \.php$ {
root /www/site/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名。
listen 80:监听ip和端口,如果只有端口,表示当前服务器所有ip的80端口。
root /www/site/zabbix:站点根目录,网站文件存放的地方。
access_log /www/logs/nginx/zabbix-access.log main:访问日志。
3、安装ZABBIX
3.1 安装依赖
安装zabbix,需要先安装好MySQL,snmp,curl等开发库:
yum install net-snmp-devel libxml2-devel libcurl-devel mysql-devel -y
yum install libevent-devel -y –>该软件包为ZABBIX-3.4版本新增
3.2 编译源码
./configure –prefix=/usr/local/zabbix-3.0.17 –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl –with-libxml2
make && make install
ln -s /usr/local/zabbix-3.0.17 /usr/local/zabbix
3.3 创建软件运行用户
为了安全考虑,zabbix使用普通用户运行。如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果系统没有zabbix的用户,则需要创建一个用户:
groupadd zabbix
useradd -g zabbix zabbix
3.4 创建并初始化数据库
zabbix server与proxy需要数据库,angent不需要。proxy只需要导入一个sql文件,而server端要导入3个sql文件。
mysql> create database zabbix default charset utf8 collate utf8_general_ci;
mysql> grant all privileges on zabbix.* to zabbix@’localhost’ identified by ‘zabbix@dolton’;
mysql> grant all privileges on zabbix.* to ‘root’@’10.10.200.201’ identified by ‘p@ssW0rd’;
mysql> grant all privileges on zabbix.* to ‘zabbix’@’10.10.200.201’ identified by ‘zabbix@dolton’;
mysql> flush privileges;
mysql> quit;
向数据库中导入zabbix系统的基础数据:
mysql -h 10.10.200.202 -uroot -pp@ssW0rd zabbix < database/mysql/schema.sql //proxy仅需导入这个就可以
mysql -h 10.10.200.202 -uroot -pp@ssW0rd zabbix < database/mysql/images.sql
mysql -h 10.10.200.202 -uroot -pp@ssW0rd zabbix < database/mysql/data.sql
3.5 拷贝前端页面文件
将zabbix的前端页面文件拷贝到/www/site/zabbix目录下:
cp -R /usr/local/src/zabbix-3.0.17/frontends/php/* /www/site/zabbix
chown -R zabbix.zabbix /www/site/zabbix
3.6 拷贝启动文件
将启动server和agent的sh拷贝到/etc/init.d/下,并做相应修改:
cp /usr/local/src/zabbix-3.0.17/misc/init.d/fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
根据实际情况修改/etc/init.d目录下的zabbix_server、zabbix_agentd的启动文件:
# 例如:
vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
vi /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
3.7 安装ZABBIX
在浏览器输入服务器的ip地址,开始安装。只要保证都按上述步骤配置,就可以保证安装过程顺利完成。(最后一步可能会出现错误提示–“无法创建配置文件”,只要按要求下载并上传到相应的目录即可。)
3.8 安装zabbix客户端(可选)
./configure –prefix=/usr/local/zabbix-3.0.17/ –enable-agent
make && make install