使用到的软件版本如下:
zabbix3.0.3 ---- 编译安装
php ---- 编译安装
nginx ---- 编译安装
mysql5.7.9 ---- rpm包安装
注意:
在安装过程中涉及到的安装卸载等需要具体根据自己的系统的环境和需要来操作。
比如编译安装的时候少gcc等库文件 需要自己安装。
安装过程中相关的应用的用户和目录的权限要注意修改。如有问题建议先查看目录权限。
建议使用mysql用户管理mysql。
使用同一个用户来管理nginx、php、zabbix比如zabbix用户。
一、mysql部署
mysql部署主要是让zabbix可以连接到数据库并进行操作。所以mysql安装的方式可以自己选择。为了方便这里我们选择rpm包安装mysql5.7.9
1.查看当前系统是否已经安装,已安装的mysql卸载掉。
2.安装mysql5.7.9的rpm包。官网可以下载。下图中6个红色的rpm包全部安装。
3.然后进行初始化数据库,因为我们有现成的数据库备份可以直接使用。所以直接解压然后修改my.cnf后启动数据库。注意目录权限。
4.连接到数据库中创建zabbix库,并创建zabbix用户并授权。
如图所示:创建了zabbix库,然后zabbix库的权限给zabbix用户并设定密码为zabbix00
然后可以进行nginx和php的安装。
二、nginx部署
1.解压nginx-1.9.9.tar.gz
# tar -xvf nginx-1.9.9.tar.gz
2.编译安装
#cd nginx-1.9.9
# ./configure --user=nginx \
--group=nginx\
--prefix=/usr/local/nginx\
--with-http_stub_status_module\
--with-http_sub_module\
--with-http_ssl_module\
--with-http_realip_module\
--with-pcre
参数说明:
--user 指定用户
--group指定组
--prefix指定安装路径
--with-http_stub_status_module 启用status页面
--with-http_sub_module过滤器,提供修改网站响应内容中的字符串功能
--with-http_ssl_module启用ssl也就是https
--with-http_realip_module当有代理服务器时可以得到真正的客户端ip
--with-pcre 使rewrite功能支持正则表达式
这一步可能会遇到报错如下:
原因是没有pcre的库需要安装
#yum –y install pcre pcre-devel
然后再次执行上一步./configure成功之后进行编译安装。
#make && make install
3.nginx已经安装完毕,开始安装php
三、php部署
1.解压php-5.6.21.tar.bz2,可从官网下载。
# tar -xvf php-5.6.21.tar.bz2
2.编译安装php5.6.21
# cd php-5.6.21
# ./configure--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/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 --enable-dom --enable-xml --enable-fpm \
--with-libdir=lib64 --enable-bcmath \
--with-pdo-mysql --with-mysqli --with-mysql
# make && make install
3.拷贝配置文件
# cp php.ini-production/usr/local/php/etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
4.启动php-fpm
# cd/usr/local/php/
#./sbin/php-fpm
四、整合nginx和php
1.修改nginx.conf
# cd /usr/local/nginx/conf
# vim nginx.conf
修改完之后内容如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8000;
server_name localhost;
index index.php index.html index.html;
root /app/zabbix;
location /
{
try_files $uri $uri//index.php?$args;
}
location ~ .*\.(php)?$
{
expires -1s;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO$fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}
2.启动nginx
# chown –R nginx.nginx/usr/local/nginx
# cd/usr/local/nginx
#./sbin/nginx
3.测试nginx是否和php整合成功。
# mkdir –p /app/zabbix
# cd /app/zabbix
# vim phpinfo.php
内容如下:
<?php phpinfo(); ?>
然后使用浏览器访问http://机器的IP:8000/phpinfo.php。出现如下界面则成功。
4.测试php连接数据库是否正常。
# cd /app/zabbix
# vim mysqltest.php
内容如下:
<?php
$mysqli = newmysqli("192.168.10.101:3301", "zabbix","zabbix00", "zabbix");
if(!$mysqli) {
echo"database error";
}else{
echo"php envsuccessful";
}
$mysqli->close();
?>
注意修改new mysqlli(“ip:端口”,”数据库用户名”,”数据库密码”,”数据库库名”)
然后使用浏览器访问http://机器的IP:8000/mysqltest.php。
访问结果为php envsuccessful则成功。
五、zabbix-server部署
1.解压
# tar -xvfzabbix-3.0.3.tar.gz
2.编译安装
# cd zabbix-3.0.3
# yum –yinstall net-snmp*
# ./configure--prefix=/usr/local/zabbix --enable-server \
--enable-agent--enable-proxy --with-mysql \
--with-net-snmp--with-libcurl --with-libxml2
主要参数:
--prefix 指定安装路径
--enable-server 开启server
--enable-agent 开启agent
--enable-proxy 开启proxy
--with-mysql 加载mysql相关库
--with-net-snmp 加载snmp相关的库
#make && make install
3.配置zabbix
拷贝前端的文件到/app/zabbix/(根据nginx配置的root目录)下
# cp -rpfrontends/php/* /app/zabbix/
# vim/usr/local/zabbix/etc/zabbix_server.conf
修改完内如如下:(主要是数据库的信息,根据自己的数据库来配置)
4.向数据库中导入zabbix相关的数据
# cdzabbix3.0.3/database/mysql/
该目录下有schema.sql images.sql data.sql 三个文件依次导入mysql中:
# mysql-uzabbix -pzabbix00 -S /mydata/mysql.sock zabbix < schema.sql
#mysql -uzabbix -pzabbix00 -S /mydata/mysql.sock zabbix < images.sql
#mysql -uzabbix -pzabbix00 -S /mydata/mysql.sock zabbix < data.sql
5.修改php配置
主要修改的有:
max_execution_time= 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=0
mysqli.default_port = 3301
mysqli.default_host =192.168.10.101
always_populate_raw_post_data = -1
修改完成之后重启php-fpm
6.页面配置zabbix-server
使用浏览器访问192.168.10.101:8000如下:
点击下一步:
确认都OK之后,点击下一步:
配置你的数据库的相关的信息。配置好之后点击下一步:
给zabbix起一个名字,下一步:
检查一下是不是配置的正确。点击下一步:
点击finsh完成。
zabbix server 默认用户名admin密码zabbix
新增:zabbix3.0.3安装完之后要禁用guest用户,并修改admin用户的密码,避免server的漏洞导致被攻击。
点击Administration-User groups中的Guest组的最后的Enabled变为Disabled即可
还可以修改admin用户的密码。不在赘述。
至此zabbix-server安装完成。