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

-单台服务器是实现

转载请写明原创自: http://www.cnblogs.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无关:

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

省略输入密码的复杂性
[root@andy ~]# cat ~/.my.cnf 
[client] 
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用户
groupadd  zabbix
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
 

 

 

 
posted @ 2014-10-18 00:53  小小龟侠  阅读(1378)  评论(0编辑  收藏  举报