a2005147 发表于 2015-8-19 10:31:19

LAMP环境搭建zabbix2.2.0-源码编译

  -单台服务器是实现
  转载请写明原创自: http://www.iyunv.com/xiaoxiaoguixia/p/4032355.html
  安装zabbix可以使用两种方式
  1 rpm 定制版本的
  2 源码编译
  zabbix需要php的支持,和为了支持GUI界面,所以需要web前端服务器,zabbix的数据有后端数据库服务器进行存储,所有搭建zabbix有两种方案,可以使用rpm全自动化安装,和lamp源码编译在结合zabbix的源码编译进行!
  
  这里介绍新版本的mysql5.6和新版本的php5.5和新版本的httpd(apache)进行搭建,过程之中可老本的的使用是不太相同的,第一php支持mysql5.6使用的是mysqli函数,第二apache2.4 和之前版本在配置上也有区别,但是在仅支持zabbix的共鞥效果配置上区别是微观的!

  LAMP的实现
  1 准备数据库mysql5.6
  第一采用二进制版本进行安装,下载可以到官网www.mysql.com 进行下载
  这里采用如下版本:
  mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
  安装步骤:


创建mysql用户和解压包,及初始化数据库

groupadd mysql

useradd -r -g mysql mysql

tar -zxvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz

ln -s src/mysql-5.6.21-linux-glibc2.5-x86_64 mysql

cd mysql/

mkdir /data/mysql#创建数据目录

chown -R mysql.mysql /data/mysql/

scripts/mysql_install_db --user=mysql --datadir=/data/mysql

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

修改启动配置文件:

修改/etc/init.d/mysqld 中datadir=/data/mysql

basedir 可以不指定 默认为/usr/loca/mysql 安装文件路径



加入系统自启动

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on



加入环境变量

vim /etc/profile.d/mysql.sh

#!/bin/bash
PATH=$PATH:/usr/local/mysql/bin



修改密码

mysqladmin -uroot password 'c110123'  #一下内容是笔者对于myslq的简易和优化的习惯操作和lamp无关:
  #############################################


省略输入密码的复杂性

# cat ~/.my.cnf


user=root
password=c110123
host='localhost'



如果启动不了mysql,配置文件无误,注意是否受系统之前安装过mysql的影响,之前的mysql命令路径可能不一致,因为之前可能是rpm包安装的,卸载事没有卸载干净





删除多余的账户

select Host,Password,User from user;

mysql> delete from user where Host='localhost';



###########################################



#以下内容是笔者对5.6版本mysql的第一认识与LAMP搭建无关#  ############################################


mysql> show engines;

可得5.6 默认的引擎是 innodb



默认已经是一张表一个表空间(和之前版本默认使用的所有表一个表空间不一样)

mysql> show global variables like '%innodb%';
  打开应该一些相关的日志功能:
  mysql> show global variables '%log%';查看日志相关开启的情况


bin-log   记录任何能改变mysql数据操作的日志,用于随时恢复数据库

slow-query-log慢查询日志



实现两个日志的开启,做如下配置,写入my.cnf 或则直接修改全局变量,笔者建议修改配置文件然后重启生效



log_bin =/data/mysql/bin-logs/mysql-bin

binlog_format = mixed



socket = /tmp/mysql.sock

slow_query_log =1

slow_query_log_file=/data/mysql/andy-slow.log

log_bin=/data/mysql/bin-logs/mysql-bin



查看慢查询时间标准:

  mysql> show global variables like '%long_query%';
+-----------------+-----------+
| Variable_name   | Value   |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)


注意:慢查询的标准是(时间依据)long_query_time | 10.000000         10秒钟



######################################################

  2 准备httpd(apache)作为web
  版本2.4
  下载地址
  httpd.apache.com
  包:httpd-2.4.10.tar.gz
  
  步骤:
  cd /usr/local/src
  tar -xzvf httpd-2.4.10.tar.gz
  cd httpd-2.4.10
  ./configure --prefix=/usr/local/apache2 --with-included-apr--with-pcre --enable-mods-shared=most --enable-ssl
预编译失败
  缺少:
  


缺失 APR APR-util  
  configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
  
  解决办法:
  
  解决办法:
将APR和APR-util源码下载,解压放到httpd-2.4.3/srclib里面,并去除版本号
  
  
  
  cd/usr/local/src; wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.1.tar.gz
  
  wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
  
  解压
  
  cp -rf apr-1.5.1 /usr/local/src/httpd-2.4.10/srclib/apr
  
  cp -rf apr-util-1.5.4 /usr/local/src/httpd-2.4.10/srclib/apr-util
  
  问题解决:注这个问题在http2.2版本中不会出现
  make && make install进行安装
  echo $?返回0 表示安装正确
  


启动apache

/usr/local/apache2/bin/httpd -k start

[-k start|restart|graceful|graceful-stop|stop]  
  此时可以测试是否启动正常(80端口是否 监听,web页面是否可以访问)
  
  3 安装php作为http的模块
  包 5.5版本
  源码包:php-5.5.18.tar.bz2
  下载地址:www.php.com
  步骤:
  cd /usr/local/src; tar jxvf php-5.5.18.tar.bz2;
  cd php-5.5.18
  ./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 --enable-bcmath --with-mysqli --with-gettext
  
  具体需要哪些选项可以参考zabbix官网: 笔者给出的 是可以全部包含的

https://www.zabbix.com/documentation/2.2/manual/installation/requirements
  注: 在支持zabbix上面有几个选项是必须要的,不然在后面结合安装php的GUI上面时候会提醒错误
  
  cp php.ini-production /usr/local/php/etc/php.ini    #拷贝php配置文件,把样板文件拷贝到php安装路径etc下
  注:在编译过程中,可能会有很多库缺失,请yum安装-devel对应devel模块,对于--with-mcrypt相关的这个包,yum默认是不提供的,请百度解决,安装额外的yum源后者源码编译此包,如果有需要请 留言!
  4 修改apache配置支持解析php页面
  vim /usr/local/apache2/conf/httpd.conf
  加入在AddType字段处加入
  AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
  加入php可以作为首页
  php.index
  结果如:


  5 测试LAMP的功能
  到这里基本的lamp已经完成,是可以完成对php页面的支持,测试php能否和mysql通信
  启动mysql
  启动httpd
  在页面放置的位置编写一个php能否连接mysql的测试页
  cd /usr/local/apache2/htdocs/ ;vim testmysql.php


<?php

    $conn=mysql_connect('localhost','root','c110123');

    if ($conn)

      echo "connect mysql Success......";

    else

      echo "Failusr.....";

?>

保存退出:

网页访问:http://ip/1.php

结果:



如果:结果是这个样子,说明lamp已经完成

  注:并不能说明运行zabbix上的php能支持mysql,因为zabbix使用的是mysqli,而这个是测试mysql函数!如果编译php的时候使用了--with-mysqli 应该是没问题的

如果:页面结果显示Failusr,那么就有问题,请确保mysql是否启动,web是否启动,php能否在httpd上运行!



   6 安装zabbix
  包:zabbix2.2 源码包
  zabbix-2.2.4.tar.gz
  下载地址:www.zabbix.com
  安装指导手册:https://www.zabbix.com/documentation/2.2/manual/installation/install
  步骤:
  


步骤1


tar -zxvf zabbix-2.2.0.tar.gz

步骤2:创建zabbix用户
groupaddzabbix
useradd -r -g zabbix zabbix
步骤3: 创建库
create database zabbix character set utf8 collate utf8_bin;
mysql -u<username> -p<password> zabbix < database/mysql/schema.sql
mysql -u<username> -p<password> zabbix < database/mysql/images.sql
mysql -u<username> -p<password> zabbix < database/mysql/data.sql

步骤4: 编译源码
作为server和agent 使用以下参数(官网给出)
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
被一下取代(适合自己的场景)
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
注:如果出错请解决依赖环make && make install
第五步:提供web相关zabbix页面文件



/usr/local/apache2/htdocs (default directory when installing Apache from source)



cd /usr/local/apache2/htdocs ;mkdir zabbix

cp -r /usr/local/src/zabbix-2.2.4/frontends/php/* /usr/local/apache2/htdocs/zabbix/



步骤六



安装zabbix

web访问http://ip/zabbix



在GUI 上面有必要修改php参数vim /usr/local/php/etc/php.ini根据GUI上面的提示修改max_input 和timezone的参数,在此不再论述



在数据中创建zabbix用于并且密码是zabbix并且给予相关权限

mysql> grant all privileges on zabbix.* to 'zabbix'@'%' indentified by 'zabbix';

mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' indentified by 'zabbix';

















根据提示 手动下载保存相关路径至(/usr/local/apache2/htdocs/zabbix/conf/zabbix.conf.php)







安装结束



7 启动zabbix-server 和agent



ip/zabbix

使用默认用户名Admin/zabbix 登入发现zabbix server 未运行

启动zabbix





启动sever

zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

默认配置是 /usr/local/etc/zabbix_server/conf



启动zabbix (作为sever的服务器)上的agent

zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf


  
页: [1]
查看完整版本: LAMP环境搭建zabbix2.2.0-源码编译