背景与环境

由于实际情况需求,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基础总结(八)Service

    服务两种启动方式(掌握) startService 开始服务,会使进程变成为服务进程 启动服务的activity和服务不再有一毛钱关系 bindService 绑定服务不会使进程变成服务进程 绑定服务 ...

  2. HeadFirst 设计模式 04 工厂模式

    除了 new 操作符之外, 还有更多创造对象的方法. 工厂处理创建对象的细节. 这么做的目的是为了抽象, 例如把创建比萨的代码包装进一个类, 当以后实现改变时, 只需修改这个类即可. 利用静态方法定义 ...

  3. 010杰信-创建购销合同Excel报表系列-3-新增合同货物:这里涉及到子表的新增(合同货物表是购销合同表的子表)

    效果说明: 前面分析过购销合同的Excel报表需要四张表,这篇讲的是合同货物表. 这个合同货物表是购销合同的子表,是一个购销合同有多个合同货物的关系.在合同货物表中有购销合同的主键作为外键.所以这张表 ...

  4. 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言

    Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求post()方法,处 ...

  5. 我们把Mybatis的功能架构分为三层:

    我们把Mybatis的功能架构分为三层: (1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库.接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理. (2) ...

  6. 绑定QQ登录 PHP OAuth详解(转)

    越来越多的网站开始采用 第三方账号登录 如qq 微博 开心网 等诸多流行的社交平台,利用第三方账号登录,可以更好地省去用户的注册时间,并且极大地提高用户体验,吸引更多的潜在用户. 让用户拥有 一个号码 ...

  7. 【BZOJ】1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(dp/-bfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1616 我觉得bfs是可过的,但是交bfs上去是wa? 然后没办法看dp,原来这bfs能和dp联系在一 ...

  8. UIWindow小记

    If you choose to create a window in Interface Builder, be sure to select the Full Screen at Launch o ...

  9. Spring_day04--Spring框架整合hibernate框架

    Spring框架整合hibernate框架 1 把hibernate核心配置文件中配置数据库信息,把数据库信息在spring进行配置 2 把hibernate里面的sessionFactory创建交给 ...

  10. Intent讲解

    什么是Intent? Intent是一个消息传递对象,可以使用它来启动其它应用组件.Intent使组件之间通信更加便利,主要用于以下三点: 启动Activity: 可以将intent作为参数调用Con ...