背景与环境

由于实际情况需求,zabbix在局域网中进行部署,遇到许多问题,在此记录。

  • 操作系统:CentOS 6.9(使用的最小安装)
  • zabbix版本:zabbix-3.0.13(LTS)
  • php版本:php-5.6.32(必须要使用5.4及以上的版本
  • 关闭iptables和selinux
  • 需要本地的yum源
  • 调整本机的硬件和系统时钟,与现实情况一致
  • 还有一些需要下载的,后面再说明

一、Mysql安装与配置

// (1)安装
# yum install -y mysql-server mysql-devel
// (2)开启
# service mysqld start
// (3)修改密码为root
# /usr/bin/mysqladmin -u root password 'root'
// (4)设置root用户的远程登录
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
mysql> flush privileges;

设置UTF8

(1)修改/etc/my.cnf

# 在[mysqld]下添加utf8
[mysqld]
...
default-character-set=utf8

(2)重启mysql服务

# service mysqld restart

(3)修改其他字符集

# mysql -uroot -p
// 查看字符集,除了database其余都是 latin1
mysql> show variables like "% character %";
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | latin1 |
| character_sets_dir | /usr/share/mysql/charsets/ | // 修改这些字符集。
//注:filesystem不用修改
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
...
// 修改完查看一下,即可
mysql> show variables like "% character %";
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |

二、基础软件的安装

基于搭建好本地yum源后方可使用,不然是需要连接互联网。

# yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel bzip2 bzip2-devel readline readline-devel httpd httpd-devel -y

这些软件中,大部分是用于php的编译的,特别是最后一个,用于apache能够识别*.php文件,不然显示的就是代码

三、PHP编译与安装

3.1 libmcrypt安装

(1)下载地址:http://mcrypt.hellug.gr/lib/
(2)编译安装

# tar -zxvf libmcrypt-2.5..tar.gz
# cd libmcrypt-2.5.
# ./configure --prefix=/usr/local/
# make
# make install

3.2 --enble-opchahe启用

(1)如果不开启这个功能,编译时会遇到错误

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

(2)在/etc/ld.so.conf的配置文件中添加下面这句

/usr/local/lib

效果如下所示

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib

(3)执行命令,即可

# ldconfig

3.3 PHP的编译安装

# tar zxvf php-5.6..tar.gz
# cd php-5.6.
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-apxs2=/usr/sbin/apxs
**(注:apxs2是需要安装httpd-devel才能使用的)**
# make -j8
# make install

3.4 php-fpm服务配置

(接着上面的目录)

# cp php.ini-development /usr/local/php/etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm // 添加用户
# groupadd www
# useradd -g www -s /sbin/nologin -M www // 开启php-fpm服务
# service php-fpm start

3.5 添加php命令

编辑 ~/.bash_profile

PATH=$PATH:$HOME/bin
改为
PATH=$PATH:$HOME/bin:/usr/local/php/bin

执行命令,使其生效

# . ~/.bash_profile
# php -v
PHP 5.6. (cli) (built: Jan ::)
Copyright (c) - The PHP Group
Zend Engine v2.6.0, Copyright (c) - Zend Technologies

3.6 添加php-gd

(1)安装jpegsrc(下载地址:http://www.ijg.org/

# tar -zxvf jpegsrc.v9b.tar.gz
# cd jpeg-9b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make && make install

(2)编译安装php-gd

# cd /opt/php-5.6./ext/gd/
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir --with-freetype-dir
# make && make install

(3)编辑/usr/local/php/etc/php.ini

添加如下内容

extension=gd.so

(4)重启php-fpm

# service php-fpm restart

3.7 修改httpd

vi /etc/httpd/conf/httpd.conf

# 添加如下内容
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php # 查看一下内容是否存在
LoadModule php5_module modules/libphp5.so

3.8 验证

(1)创建php页面

# vi /var/www/html/test.php
<?php
phpinfo();
?>

(2)运行httpd

# service httpd start

(3)访问页面:localhost/test.php

四、Zabbix编译与安装

(1)编译与安装

# tar -zxvf zabbix-3.0..tar.gz
# cd zabbix-3.0.
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl
# make
# make install

(2)修改server配置

# vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=root
DBSocket=/var/lib/mysql/mysql.sock // 查看本地mysql.sock的位置

(3)添加zabbix用户

# useradd zabbix

(4)添加开机脚本

cd /opt/zabbix-3.0.

cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server
cp misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd chmod u+x /etc/rc.d/init.d/zabbix_server
chmod u+x /etc/rc.d/init.d/zabbix_agentd chkconfig zabbix_server on
chkconfig zabbix_agentd on

(5)更改脚本路径

-----更改zabbix_server路径
vim /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server" -----更改zabbix_agentd路径
vim /etc/init.d/zabbix_agentd
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

(6)启动

service zabbix_server start
service zabbix_agented start

(7)验证端口

# netstat -nltp |grep 

tcp   0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd

# netstat -nltp |grep 

tcp   0.0.0.0: 0.0.0.0:* LISTEN /zabbix_server

五、Zabbix-web安装

(1)拷贝zabbix-web工程到apache目录

# cp -r /opt/zabbix-3.0./frontends/php/* /var/www/html/

(2)添加配置文件

# vi /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time
php_value always_populate_raw_post_data -
php_value date.timezone Asia/Shanghai

(3)导入数据库

先创建一个数据库,名称为zabbix
# mysql -uroot -proot zabbix </opt/zabbix-3.0./database/mysql/schema.sql
# mysql -uroot -proot zabbix </opt/zabbix-3.0./database/mysql/images.sql
# mysql -uroot -proot zabbix </opt/zabbix-3.0./database/mysql/data.sql

六、Zabbix-web向导

向导配置很简单,填入数据库信息即可(与zabbix_server.conf一样),最后一步略有不同。
会显示一个报错提示,如图所示

此时,只要按照英文提示,下载文件再重命名放到/var/www/html/conf/zabbix.conf.php即可。下载的这个文件zabbix.conf.php.example,一定不要从工程目录中删除,否则工程会跑不起来。

本文转载自:https://segmentfault.com/a/1190000012818998

Zabbix3的离线安装的更多相关文章

  1. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  2. MYSQL离线安装

    由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...

  3. VS2010+Qt5.4.0 环境搭建(离线安装)

    原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...

  4. 离线安装 Python 2.7, paramiko 和 tornado

    无非就是离线安装, 步骤比较繁琐, 记录一下. 需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko 1. 离线安装 Python 2.7 .tgz cd Pyth ...

  5. npm包与gem包--在线&离线安装

    目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...

  6. Windows 8 下离线安装。net Framework 3.5

    Windows 8 下安装.net Framework 3.5 1)可以将直接双击ISO (或放入光盘/U盘)(安装文件在F盘) 2)使用管理员权限运行命令行程序 3)dism.exe /online ...

  7. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

  8. nexus离线安装索引及一些问题

    安装私服~~~ 整体流程: 服务器安装私服 配置私服(主要是安装索引) 本地maven配置指向私服 安装私服 win & linux 网上教程很多,不在阐述: 配置私服(及安装index) 1 ...

  9. Win8.1离线安装.NET3.5

    Win8.1离线安装.NET3.5 dism.exe /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs 其中H为盘符 ...

随机推荐

  1. Android基础总结(六)Activity

    创建第二个Activity(掌握) 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <ac ...

  2. golang :连接数据库闲置断线的问题

    golang在进行数据库操作,一般来说我们使用Open函数创建一个数据库(操作)句柄:func Open(driverName, dataSourceName string) (*DB, error) ...

  3. 如何远程备份sql server数据库

      方法一(不使用SQLDMO): /// ///备份方法 /// SqlConnection conn = new SqlConnection("Server=.;Database=mas ...

  4. 一般来说,主方法main()结束的时候线程结束

    suspend()是将一个运行时状态进入阻塞状态(注意不释放锁标记).恢复状态的时候用resume().Stop()指释放全部. 这几个方法上都有Deprecated标志,说明这个方法不推荐使用. 一 ...

  5. 【BZOJ】2555: SubString(后缀自动机)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2555 学到了如何快速维护right值orz (不过这仍然是暴力维护,可以卡到O(n) 首先我们在加一 ...

  6. 透過 bc 計算 pi

    echo "scale=${num}; 4*a(1)" | bc -lq例如: echo "scale=5000; 4*a(1)" | bc -lq 4*a(1 ...

  7. C语言若干知识点归记

    一.C语言指针学习架构 1.基本数据类型---指针 2.字符串---指针 3.数组---指针 4.函数---指针 5.结构体---指针 6.共用体---指针 7.枚举---指针 8.位域---指针 9 ...

  8. 用 HTML5+ payment方法支付宝支付遇到的坑

    用 HTML5+ payment方法碰到的第一个坑就是如果是支付宝的话签约那种支付方式. 因为 Dcloud的文档没有更新的原因你可以看到他们说的都是‘移动支付’,但是你去支付宝平台的时候看到的根本就 ...

  9. iOS开发之--调用打电话,发邮件,发短信的系统功能的代码

    1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hz ...

  10. redhad linux 7 安装ftp服务

    1. 查看有没有安装 rpm -qa|grep vsftpd 2.安装vsftp yum install vsftpd -y 3. 启动vsftp /sbin/service vsftpd start ...