(绝对正确)Zabbix基于lamp的安装流程
目录Zabbix基于lamp的安装流程... 1
1安装Mysql... 1
先安装相关的库和工具... 1
Mysql的安装... 1
2httpd的安装... 2
先安装相关的库和工具... 2
Httpd的安装... 2
3PHP的安装... 3
先安装相关的库和工具... 3
PHP的安装... 3
4zabbix的安装... 4
先安装相关的库和工具... 4
Zabbix的安装... 4
Zabbix的相关配置... 4
zabbix浏览器安装... 5
Zabbix配置php-ini的修改... 6
注意事项... 12
1安装Mysql
先安装相关的库和工具
yum installcmake*ncurses*bison*gcc-c++*libxml2*gettext*openssl* libcurl*net-snmp* libxml2* make* -y
说明
需联网安装
Mysql的安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -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 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DEXTRA_CHARSETS=all
说明
把mysql的源码包copy到/usr/local/src下然后tar解压进入到mysql目录下
Cmake下指令安装的路径生成config配置文件供make使用
make && make install
说明
编译安装
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chown mysql:mysql /usr/local/mysql/ -R
scripts/mysql_install_db--user=mysql --skip-name-resolve --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
说明
mysql_install_db 用于生成一份新的MYSQL权限表创建新的实例不会影响现有的权限表
用户登录mysql总是提示找不到socket的解决办法
vi /etc/my.cnf
把socket的路径都写上
两个模块都写上
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
2httpd的安装
先安装相关的库和工具
yum install pcre-devel pcre libxml2-devel libpng libpng-develfreetype-devel fontconfig-develjpeg-devel libjpeg-devellibXpm-devel libvpx-devel libtiff-devel gettext-devel libgcrypt-devel
./configure --prefix=/usr/local/libiconv && make && make install
centos7make编译出现http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
vim srclib/stdio.h
直接把1010行注释掉再make即可
./configure --prefix=/usr/local/apr && make && make install
./configure --prefix=/usr/local/apr-util --with-iconv=/usr/local/libiconv/ --with-mysql=/usr/local/mysql/ --with-openssl=/usr/ --with-apr=/usr/local/apr/
make && make install
说明
使用源码包预先安装libiconvaprapr-util 用于http安装时指定相应的路径
禁止apache显示目录
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
Httpd的安装
./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/--with-pcre=/usr --with-libxml2=/usr --with-ssl=/usr -enable-rewrite -enable-so--enable-load-all-modules
Make && make install
说明
使用源码包安装httpd后在浏览器中输入ip出现 IT WORKS!说明httpd安装成功
3PHP的安装
先安装相关的库和工具
./configure --prefix=/usr/local/zlib&& make && make install
./configure --prefix=/usr/local/libgd --with-zlib=/usr/local/zlib/--with-png=/usr/ --with-freetype=/usr/--with-fontconfig=/usr/ --with-jpeg=/usr/--with-xpm=/usr/ --with-vpx=/usr/ --with-tiff=/usr/ && make && make install
./configure --prefix=/usr/local/mcrypt&& make && make install
说明
使用源码包预先安装 zlib/libgd,用于php安装是指定相应的路径
提示php configure: error: Cannot find OpenSSL's libraries
解决 ln -s /usr/lib64/libssl.so /usr/lib/
configure: error: Please reinstall the BZip2 distribution
yum install bzip2*
PHP的安装
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --enable-fpm--with-libxml-dir=/usr/ --with-openssl=/usr/--with-zlib=/usr/local/zlib/--enable-bcmath --with-bz2=/usr/--with-curl=/usr/--with-libxml-dir=/usr/ --with-pcre-dir=/usr/ --with-openssl-dir=/usr/ --with-gd=/usr/local/libgd/--with-vpx-dir=/usr --with-jpeg-dir=/usr/ --with-png-dir=/usr/--with-zlib-dir=/usr/ --with-xpm-dir=/usr --with-freetype-dir=/usr/ --with-gettext=/usr/--enable-mbstring --with-mcrypt=/usr/local/mcrypt --with-mysql=/usr/local/mysql/--with-zlib-dir=/usr/local/zlib/ --with-libxml-dir=/usr/ --enable-bcmath --with-mysqli=/usr/bin/mysql_config --with-gettext=/usr --enable-sockets
centos7错误:
configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/.
Note that the MySQL client library is not bundled anymore!
其实这跟PHP没有关系那是因为在编译APACHE的时候使用--with-mpm模块所以就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数
这是PHP5.2的一个改进在PHP5.2.0之前的版本都不需要MYSQL启用安全线程。关于--enable-thread-safe-client项的官方介绍如下:如何生成线程式客户端库总是线程安全的。最大的问题在于从套接字读取的net.c中的子程序并不是中断安全的。或许你可能希望用自己的告警中断对服务器的长时间读取以此来解决问题。如果为SIGPIPE中断安装了中断处理程序套接字处理功能应是线程安全的。SupeSite/X-为了避免连接中断时放弃程序MySQL将在首次调用mysql_server_init()、mysql_init()或mysql_connect()时屏蔽SIGPIPE。如果你打算使用自己的SIGPIPE处理程序首先应调用mysql_server_init()然后安装你的处理程序.
还有第二种解决方法比较方便编译之前先处理一下mysql的库默认查找libmysqlclient_r.so可是mysql默认为libmysqlclient.so内容完全一样做个链接即可
# cd /usr/local/mysql/lib/mysql/
# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
Make && make install
说明
1安装完成后需要修改httpd的配置文件是httpd支持php
Vi /etc/httpd/httpd.conf
添加
AddType application/x-httpd-php .php .phtml
重启下httpd使配置生效 service httpd restart
在Listen的ip后面加上端口可以改变http的固定端口
例如Listen 127.0.0.18888
2cp php.ini-development /usr/local/php/lib/php.ini生成php的配置文件
3在httpd的htdocs目录下创建test.php文件内容如下
用于验证php是否正确安装成功
# httpd start
AH00557: httpd: apr_sockaddr_info_get() failed for bbs
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
把httpd.conf的ServerName改成127.0.0.1
root@bbs logs]# more error_log
(EAI 2)Name or service not known: AH01564:
unable to find IPv4 address of "bbs"
AH00016: Configuration Failed
修改/etc/hosts
127.0.0.1 bbs localhost localhost.localdomain localhost4 localhost4.localdomain4
4zabbix的安装
zabbix 备份基本数据
mysqldump --socket=/usr/local/mysql/mysql.sock\
--ignore-table=zabbix.history \
--ignore-table=zabbix.history_log\
--ignore-table=zabbix.history_str\
--ignore-table=zabbix.history_text\
--ignore-table=zabbix.history_uint\
--ignore-table=zabbix.trends\
--ignore-table=zabbix.trends_uint zabbix > zabbix.sql
先安装相关的库和工具
yum install OpenIPMI-devel OpenIPMI-libs ipmitoolfreeipmi-devel OpenIPMI-python –y
groupadd zabbix
useradd -r -s /sbin/nologin -g zabbix zabbix
说明
增加zabbix 和用户组
Zabbix的安装
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl=/usr/bin/curl-config --with-iconv=/usr/local/libiconv/ --with-openipmi=/usr/ --with-ssh2=/usr/ --with-net-snmp=/usr/bin/net-snmp-config --with-libxml2=/usr/bin/xml2-config --enable-java(使能java用于jvm监控比如tomcat)
Make && make install
Zabbix的相关配置
mysql -u root –p
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.0.14/ database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/images.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/data.sql
mysql> exit
说明
对mysql进行配置创建授权给zabbix用户用于登录数据库导入zabbix源码包中的数据到数据库中
vim /etc/services
zabbix-agent 10050/tcp # zabbix-agent
zabbix-agent 10050/udp
zabbix-trapper10051/tcp # zabbix-trapper
zabbix-trapper10051/udp
说明
在services中添加zabbix的端口
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp -R frontends/php/ /usr/local/apache/htdocs/zabbix
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
说明
拷贝zabbix_server zabbix-agnetd到/etc/init.d/用于服务启动使用
把frontends/php/下所有的文件拷贝到httpd的htdocs/zabbix目录下用于浏览器安装使用
修改zabbix_server的配置文件定义数据库的用户名和密码
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
说明
修改zabbix_server zabbix_agentd 中zabbix的安装目录路径
service zabbix_server start
service zabbix_agentd start
说明
启动zabbix的服务
如果提示找不到libmysqlclient.so.18做如下操作
ln -s /usr/local/mysql/lib/libmysqlclient.so.18/usr/lib
如果提示找不到libiconv.so.2做如下操作
ln -s /usr/local/libiconv/lib/libiconv.so.2 /usr/lib
zabbix浏览器安装
在浏览器地址栏中输入IP/zabbix
迁移的问题
把之前的htdoc下的所有文件copy到新主机上包裹php.ini等
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
出现如下进入zabbix的欢迎页面点击netx
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
说明
这就需要修改php的配置文件php.ini(路径可通过php的测试页面可查看到)
Zabbix配置php-ini的修改
vim /usr/local/php/lib/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
解决databases support的问题
分布进入到mysqli和 /bcmath/ 和 /gettext/的目录数据库源码中
分布用phpize生成configure文件:
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
./configure --prefix=/usr/local/mysqli \
--with-php-config=/usr/local/php/bin/php-config \
--with-mysqli=/usr/local/mysql/bin/mysql_config
说明
---根据环境实际路径find / -name mysql_config
--根据环境实际路径find / -name php-config
make
说明
如果提示找不到ext/mysqlnd/mysql_float_to_double.h,但是mysql_float_to_double.h确实存在查看报错.c的文件include包含的“ext/mysqlnd/mysql_float_to_double.h”,包含的是相对路径改成绝对路径“/usr/local/src/php-5.6.10/ext/mysqlnd”,然后重新make即可
make install
Installing shared extensions: /usr/local/php/lib/php/extensions/debug-non-zts-20060613/
然后在/usr/local/lib/php.ini
加上一句
extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/mysqli.so
/bcmath/ 和 /gettext/的操作同上
重新启动apache即可看到已经加载mysqli成功。
解决 mbstring.func_overload的问题
修改php.ini 把mbstring.func_overload值修改为0即可
解决always_populate_raw_post_data的问题
修改php.ini 把always_populate_raw_post_data值修改为-1即可
把相对应的错误修改OK后retry即可查看到如下界面
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
点解next配置mysql的相关信息
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
点击next
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
点击next
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
点击next
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
如果出现zabbix.conf.php文件创建失败点击下载配置文件按钮下载该配置文件并把该文件上传到/usr/local/httpd/htdocs/zabbix/conf/目录下点击retry
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
点击finish进入登录zabbix的页面
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
输入adminzabbix默认进入zabbix监控页面
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
至此zabbix安装完成
注意事项
1在选择zabbix版本时可以不要选择最新的zabbix版本zabbix2.4.5
在安装中最新的zabbix可能存在和lamp其他安装包兼容的问题
在zabbix浏览器安装过程中可能会出现总会在welcome页面和第二个配置页面循环出现不能进入到第三部的配置mysql的界面导致zabbix无法安装。
页:
[1]