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]