设为首页 收藏本站
查看: 1674|回复: 0

[经验分享] 编译安装zabbix3.2

[复制链接]
发表于 2017-6-9 08:08:30 | 显示全部楼层 |阅读模式
1.1 环境准备

系统环境准备:
redhat 6.6 64位
mysql-5.6.34
php-5.6.28
zabbix-3.2.1

配置前先关闭iptables和SELINUX,避免安装过程中报错。
# service iptables stop
# setenforce 0


# vi /etc/sysconfig/selinux
SELINUX=disabled
zabbix3.2.0对环境的要求 :
MySQL 5.1以上最好是 5.6或者更高的版本
PHP 5.4或者更高的版本


1.2 LAMP安装

1.2.1 yum安装httpd

安装Apahce, PHP, MySQL以及php连接mysql库组件。


#yum -y install httpd httpd-devel

1.2.2 编译安装mysql5.6

安装编译源码所需的工具和库



yum install \
make \
gcc \
gcc-c++ \
ncurses-devel \
cmake

新增mysql用户组:

groupadd mysql  


新增mysql用户:

useradd  -g mysql mysql  -s /sbin/nologin

chmod 755 /home/mysql/


新建MySQL所需要的目录
  新建mysql安装目录:
mkdir -p /usr/local/mysql  

  新建mysql数据库数据文件目录:
mkdir -p /data/mysqldb


编译安装:




cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldb/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
--enable-proxy \
-DWITH_SSL=bundled
  注:重新运行配置,需要删除CMakeCache.txt文件

rm -f CMakeCache.txt
make
make install

修改mysql安装目录
chown -R mysql:mysql /usr/local/mysql

修改mysql数据库文件目录

chown -R mysql:mysql /data/mysqldb

初始化配置

进入安装路径
# cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表



# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysqldb --user=mysql

  注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf"

  注意:若在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

  在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

复制mysql服务启动配置文件



# mv /etc/my.cnf /etc/my.cnf.bak
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动


# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

设置开机启动
chkconfig mysqld on
service mysqld start

配置用户
  MySQL启动成功后,root默认没有密码,我们需要设置root密码。
  设置之前,我们需要先设置PATH,要不不能直接调用mysql
  修改/etc/profile文件,在文件末尾添加



PATH=/usr/local/mysql/bin:$PATH
export PATH

  让配置立即生效



source /etc/profile

  修改数据库的root密码:



mysql -uroot  
mysql> SET PASSWORD = PASSWORD('123abc');

或是


# mysqladmin -uroot -p password 123abc
Enter password:        这里直接回车
Warning: Using a password on the command line interface can be insecure.
若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
红色的password为远程访问时,root用户的密码,可以和本地不同。

配置防火墙

  防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
  打开/etc/sysconfig/iptables文件,在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:



-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

  然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart
OK,一切配置完毕,你可以访问你的MySQL了~

1.2.3编译安装PHP5.6

添加依赖应用


yum install -y gcc \
gcc-c++ \
autoconf \
libjpeg \
libjpeg-devel \
libpng \
libpng-devel \
freetype \
freetype-devel \
libpng \
libpng-devel \
libxml2 \
libxml2-devel \
zlib \
zlib-devel \
glibc \
glibc-devel \
glib2 \
glib2-devel \
bzip2 \
bzip2-devel \
ncurses \
curl \
openssl-devel \
db4-devel \
libXpm-devel \
libX11-devel \
gmp-devel \
readline-devel \
libxslt-devel \
expat-devel \
xmlrpc-c \
libcurl \
libcurl-devel

安装加密扩展库,先安装Libmcrypt



tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make

make install

编译安装



./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-apxs2=/usr/sbin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-inline-optimization \
--enable-fpm \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--disable-mbregex \
--disable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir  \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear
其中--with-apxs2是用来生成Apache的PHP模块libphp5.so的,不需要可以去掉.

make
make install


php配置

php.ini是php运行核心配置文件
php-fpm.conf是php-fpm进程服务的配置文件


# cd php-5.6.28

# cp php.ini-production /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

fpm测试php配置



# /usr/local/php/sbin/php-fpm -t
[23-May-2016 20:03:52] NOTICE:
configuration file /usr/local/php/etc/php-fpm.conf test is successful

添加到server里管理启动:



# chkconfig --add php-fpm
# chkconfig php-fpm on
# service php-fpm start
Starting php-fpm  done
netstat –anpt
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      705/php-fpm

修改PHP默认端口:



vi /usr/local/php/etc/php-fpm.conf

listen = 127.0.0.1:8000

1.3配置apache访问PHP

配置 httpd.conf 让apache支持PHP



# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz (369)在其下添加如下内
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html   //调整首页文件设置
LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so  这个模块会在编译的自动生成加入进去

测试页面:



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

2.1 下载zabbix源码包

  官网:http://www.zabbix.com/download.php

下载zabbix-3.2.1.tar.gz

安装zabbix所需的组件(server,agent)




yum -y install curl libcurl-devel net-snmp net-snmp-devel perl-DBI libdbi-dbd-mysql mysql-devel gcc gcc++ make libxml2 libxml2-devel  

server: (172.28.3.103)服务端

创建zabbix用户组与用户:



# groupadd zabbix
# useradd -g zabbix -s /sbin/nologin zabbix
# tar xzvf zabbix-3.2.1.tar.gz

编译安装:



# cd zabbix-3.2.1
# ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6
make && make install

创建数据库和授权用户

  说明:数据文件导入的顺序不能变,也可以在命令行使用mysql命令导入数据文件



[iyunv@test ~]# service mysqld start
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456';
mysql> flush privileges;

导入数据库sql脚本:

# cd zabbix-3.2.1
在解压的zabbix目录下,将database/mysql目录下三个sql文件导入到zabbix数据库里。(下面用的是zabbix用户来导入文件,这个用户在数据库是默认存在的)


# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
或是


# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

修改配置文件并启动



mkdir -p /var/www/zabbix
cp -R frontends/php /var/www/zabbix
chmod 777 /var/www/zabbix/php/conf

修改过滤掉注释的名字


cat /usr/local/zabbix-server/etc/zabbix_server.conf |grep -v "^#" |grep -v "^$" > /usr/local/zabbix-server/etc/zabbix_server.conf.back


我们只需要关注DBHost、DBName、DBUser、DBPassword几项即可。这几项是配置zabbix server连接mysql数据库的参数。


vim /usr/local/zabbix-server/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

创建日志文件存放位置:
mkdir /var/log/zabbix
chown -R zabbix:zabbix /var/log/zabbix
启动zabbix服务:
/usr/local/zabbix-server/sbin/zabbix_server

用server来管理启动zabbix服务:



# cd zabbix-3.2.1
# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
# chkconfig --add zabbix_server
# chkconfig zabbix_server on

创建软链接:
ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/
启动服务:
service zabbix_server start

agent:  (172.28.3.100)客户端

创建zabbix用户组与用户:



# groupadd zabbix
# useradd -g zabbix -s /sbin/nologin zabbix
编译安装:



# cd zabbix-3.2.1
# ./configure --prefix=/usr/local/zabbix-agent  --enable-agent
make && make install


# cd /usr/local/zabbix-agent
# vi etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=172.28.3.103
ServerActive=172.28.3.103
Hostname=172.28.3.100
用server来管理启动zabbix服务:



# cd zabbix-3.2.1
# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# chkconfig --add zabbix_agentd
# chkconfig zabbix_agentd on
创建软链接:
# ln -s /usr/local/zabbix/sbin/zabbix_agentd/usr/local/sbin/
启动服务:
service zabbix_agentd start

注:若要服务器端也安装客户端相关参数可以参考:http://meiling.blog.iyunv.com/6220221/1339389


2.3 配置zabbix web页面



vim /etc/httpd/conf.d/zabbix.conf
#
# Zabbix monitoring system php web frontend
#
#Alias /zabbix/usr/share/zabbix
Alias /zabbix /var/www/zabbix/php
<Directory "/var/www/zabbix/php">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
#Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
php_value date.timezone Asia/Chongqing
</IfModule>
</Directory>
  其中php_value date.timezone Asia/Chongqing主要是定义php的时区。



  最后重启apache,zabbix服务,如下:
  services  httpd restart

  services zabbix_server restart
  然后访问http://172.28.3.103/zabbix/setup.php这个地址,如下进行安装:
   DSC0000.png
DSC0001.jpg

DSC0002.jpg

DSC0003.jpg

DSC0004.jpg

  完成后即可登录:zabbix默认的用户名和密码是Admin/zabbix
DSC0005.jpg


如果创建zabbix.conf.php文件这一步有报错话,可以手动下载好那个文件在相应目录创建zabbix.conf.php文件复制里面的内容即可:



vi /var/www/zabbix/php/conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;


$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '172.28.3.103';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'zabbix';


// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';


$ZBX_SERVER      = '172.28.3.103';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';


$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-385309-1-1.html 上篇帖子: 详细讲解NFS配置过程 下篇帖子: CentOS 7.2更改网卡名称
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表