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

[经验分享] 生产环境下:LAMP源码安装,搭建zabbix监控

[复制链接]

尚未签到

发表于 2019-1-23 12:21:20 | 显示全部楼层 |阅读模式
1、系统环境检查,版本说明

1)版本说明

#httpd-2.4.25
#mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版
#php5.6.30

#zabbix-3.0.8

2)关闭selinux、iptables,检查系统版本信息

  sed -i 's/SELINUX=enabled/SELINUX=disabled/g' /etc/selinux/config
getenforce 0
/etc/init.d/iptables stop
cat /etc/redhat-release
CentOS release 6.7 (Final)
uname -r
2.6.32-431.el6.x86_64
uname -m

x86_64

  2、安装apache
  http://httpd.apache.org/download.cgi             #apache官网
  #新建apache运行用户
  useradd -s /sbin/nologin -M www
  mkdir tools

  cd tools#下载http代码包
  wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.gz
  wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
  wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
  #附上aliyun下载地址
wget -c http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.gz
wget -c http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.gz
wget -c http://mirrors.aliyun.com/apache/httpd/httpd-2.4.25.tar.gz
  

  #安装插件apr和apr-util
#编译安装apr
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr-1.5.2
make && make install
echo $?
ln -s /usr/local/apr-1.5.2/ /usr/local/apr
cd ..
#编译安装apr-util
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/
echo $?
make && make install
echo $?
ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util
cd ..#安装功能包
yum install pcre-devel zlib-devel openssl-devel -y
#安装apache
tar zxvf httpd-2.4.25.tar.gz
cd httpd-2.4.25./configure --prefix=/usr/local/httpd-2.4.25 \
--with-apr=/usr/local/apr-1.5.2 \
--with-apr-util=/usr/local/apr-util-1.5.4 \
--enable-so --enable-deflate --enable-expires \
--enable-headers --enable-ssl --enable-rewrite \
--enable-mpms-shared=all --with-mpm=prefork \
--enable-mods-shared=most

  #编译与安装
  make
  make install
  配置参数解释:
  #--prefix= apache安装目录。默认情况下,安装目录设置为 /usr/local/apache2。
#--sysconfdir= 指定配置文件安装路径
#--with-apr= 如果要使用已安装的APR,则必须告诉脚本configure的apr的安装路径
#--with-apr-util 指定已安装的apr-util的安装路径
#--enable-so 允许运行时加载DSO模块
#--enable-cgi 启用cgi协议
#--with-zlib 启用zlib库文件
#--with-pcre 指定pcre的安装路径
#--enable-modules=most 启用大多数共享模块
#--enable-deflate 压缩传输编码支持
#--enable-expires Expires头控制
#--enable-headers HTTP头控制
#--enable-ssl 启动ssl加密功能,SSL/TLS支持(mod_ssl)
#--enable-rewrite 基于规则的URL操作,启用URL重写功能
#--enable-mpms-shared=all 空间分隔的MPM模块列表启用,动态加载
#--with-mpm=prefork 指定使用的MPM的类型, 选择Apache使用的进程模型(event|worker|prefork|winnt)
#--enable-mods-shared=most 启用MPM大多数参数, 定义要启用并构建为动态共享模块的模块列表,默认设置为most(all|most|few|reallyall)
  

  #去版本号,做链接

  ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd
#配置http环境变量
echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile
. /etc/profile
#查看http模块
ls /usr/local/httpd/modules

  #查看安装的模块
  /usr/local/httpd/bin/apachectl -l

  /usr/local/httpd/bin/apachectl -M
  apachectl -t -D DUMP_MODULES
  #修改http配置文件
sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf
#启动apache服务
apachectl start
#查看http服务
netstat -lntup|grep httpd
tcp 0 0 :::80 :::* LISTEN 56389/httpd
  

  #配置启动脚本
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod +x /etc/init.d/httpd
/etc/init.d/httpd stop
netstat -lntup|grep httpd
/etc/init.d/httpd start
netstat -lntup|grep httpd
vim /etc/init.d/httpd
#在开始位置添加:
# chkconfig: 345 85 15
# description: this my apache is httpd server
#加入系统启动服务,开机自启动
chkconfig --add httpd
chkconfig httpd on
chkconfig --list httpd
#测试访问正常!到此apache安装完成!
  #一键式安装apache 2.4.25
useradd -s /sbin/nologin -M wwwm
kdir ~/tools
cd ~/tools
/bin/ping baidu.com -c 2[ $? -eq 0 ] && {
wget
wget
wget
} || exit 110
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr-1.5.2
make && make install
echo $?
[ $? -eq 0 ] && {
ln -s /usr/local/apr-1.5.2/ /usr/local/apr
cd ..
}
#编译安装apr-util
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/
make && make install
echo $?
sleep 2
ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util
cd ..
yum install pcre-devel zlib-devel openssl-devel -y
tar zxvf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/usr/local/httpd-2.4.25 \
--with-apr=/usr/local/apr-1.5.2 \
--with-apr-util=/usr/local/apr-util-1.5.4 \
--enable-so --enable-deflate --enable-expires \
--enable-headers --enable-ssl --enable-rewrite \
--enable-mpms-shared=all --with-mpm=prefork \
--enable-mods-shared=most
echo $?
sleep 2
make
make install
ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd
echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile
. /etc/profile
sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf
apachectl start
netstat -lntup|grep 80 >/dev/null && echo OK!  
  3、MySQL安装与配置,此处为二进制安装
  useradd -s /sbin/nologin -M mysql
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17
ln -s /usr/local/mysql-5.7.17 /usr/local/mysql
#创建数据库文件目录
mkdir -p /data/mysql
chown -R mysql.mysql /data/
#配置启动脚本文件,并加入系统服务,自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
#配置mysql配置文件
cat > /etc/my.cnf >/etc/profile
. /etc/profile
  

  #启动MySQL服务
/etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
netstat -lntup|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 28150/mysqld
ps -ef |grep mysql
root 28284 1 2 07:26 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
mysql 29119 28284 5 07:26 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql-error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
  

  #修改root密码:
  法1:mysql -uroot -e "Set password=password(‘123.com’);"
法2:mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456.com') where user='root';"
  法3:update mysql.user set authentication_string=password("123.com") where user='root';
  
4、PHP的安装与配置

  #查看apache和MySQL启动是否正常
  netstat -lntup|egrep '80|3306'
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 29119/mysqld
tcp 0 0 :::80 :::* LISTEN 26925/httpd
  1)扩展支持(mcrypt、mhash扩展和libevent)
  mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
  mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。
mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制
它主要用来替换事件驱动的网络服务器上的event loop机制。
目前来说, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。
  

  centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包
可以使用第三方源,这样还可以使用yum来安装
安装第三方yum源
wget http://www.atomicorp.com/installers/atomic

  sh ./atomic
  使用yum命令安装
  yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel
  

  2)支持xml的相关包
  支持xml的rpm包
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件能够高效的完成文件数据的压缩
libcurl主要功能就是用不同的协议连接和沟通不同的服务器,也就是相当封装了的sockPHP
libcurl允许你用不同的协议连接和沟通不同的服务器
  

  yum install libxml2 libxml2-devel bzip2-devel libcurl-devel
  

  3)图形相关的rpm包
  yum install libjpeg-devel libpng-devel freetype-devel
  

  #可复制批量安装,中间加了一些常用的包,可检查是否安装,否则后面配置时会报错
  wget http://www.atomicorp.com/installers/atomic
  sh ./atomic
yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel gd-devel curl-devel openssl-devel libxslt-devel* php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel libxml2 libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel
  

  如yum安装有问题可以编译安装mcrypt、libmcrypt、mhash库:
下载地址:
wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz
wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz
wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install
cd ..
tar -zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
cd ..
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure --with-libmcrypt-prefix=/usr/local/libmcrypt/
make && make install
cd ..
echo "/usr/local/libmcrypt/lib" >>/etc/ld.so.conf.d/lib.conf
echo "/usr/local/lib" >>/etc/ld.so.conf.d/lib.conf  #配置额外的库文件路径,也就是上面安装的库文件需要指定路径重新加载
ldconfig -v   #重新加载库文件
注意:此处源码只安装了在国内yum库中无法安装的库文件,如PHP配置时缺少包文件需要yum安装。  

  #安装PHP
  wget http://219.238.7.71/files/1007000009B9E9D0/cn2.php.net/distributions/php-5.6.30.tar.gztar zxvf php-5.6.30.tar.gz
cd php-5.6.30
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/httpd/bin/apxs \
--enable-inline-optimization \
--enable-fpm \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-gettext \
--enable-mbstring \
--with-iconv=/usr/local/libiconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-sockets \
--with-curl \
--with-zlib \

--enable-zip \
--with-bz2 \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-ctype \
--enable-xml
  

  echo $?
make
make install
cp php.ini-production /usr/local/php/etc/php.ini
  

  #检查apache和PHP整合
  grep modules/libphp5.so /usr/local/httpd/conf/httpd.conf
修改apache配置文件:
vim /usr/local/httpd/conf/httpd.conf
ServerName 127.0.0.1:80
#增加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#修改用户:
User www
Group www
#修改主页文件:

DirectoryIndex index.php index.html

  
#检查apache配置文件:
  /usr/local/httpd/bin/apachectl -t
Syntax OK

  #编写测试页,测试PHP是否正常解析

  vim /usr/local/apache/htdocs/index.php

#重新加载apache配置文件
/usr/local/apache/bin/apachectl graceful
  测试访问正常!
  #编写测试代码,测试数据库链接是否正常
vim /usr/local/apache/htdocs/mysql-test.php

  #到此LAMP安装完成!
  
  5、zabbix安装配置

  wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz
  #安装支持监控snmp包监控交换机等
yum install net-snmp-devel
tar zxvf zabbix-3.0.8.tar.gz
cd zabbix-3.0.8
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
echo $?
  #配置数据库导入数据
mysql>create database zabbix;
mysql>grant all on zabbix.* to 'zabbixuser'@'localhost' identified by '123.com';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> use zabbix;
mysql> source /root/tools/zabbix-3.0.8/database/mysql/schema.sql
mysql> source /root/tools/zabbix-3.0.8/database/mysql/images.sql
mysql> source /root/tools/zabbix-3.0.8/database/mysql/data.sql
#初始化sql文件在源码包/root/zabbix-3.0.4/database/mysql目录下
#配置zabbix_server配置文件修改如下:
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
DBHost=localhsot
DBName=zabbix
DBUser=zabbixuser
DBPassword=123.com #zabbixuser的密码
LogSlowQueries=3000
  cp misc/init.d/fedora/core/* /etc/init.d/
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server
useradd -s /sbin/nologin -M zabbix
mkdir /usr/local/zabbix/logs
chown -R zabbix.zabbix /usr/local/zabbix/
/etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_server start
netstat -lntup|grep 1005
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 28005/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 27916/zabbix_server
  #拷贝代码文件到apache发布目录下修改名为zabbix:
  cp -a frontends/php /usr/local/httpd/htdocs/zabbix
  sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#g' /usr/local/php/etc/php.ini
sed -i 's#post_max_size = 8M#post_max_size = 16M#g' /usr/local/php/etc/php.ini
sed -i 's#max_execution_time = 30#max_execution_time = 300#g' /usr/local/php/etc/php.ini
sed -i 's#max_input_time = 60#max_input_time = 300#g' /usr/local/php/etc/php.ini
#去掉前面的#号即可,纠结了半天。
sed -i 's#;always_populate_raw_post_data = -1#always_populate_raw_post_data = -1#g' /usr/local/php/etc/php.ini
#重新加载apache
/usr/local/httpd/bin/apachectl graceful
  最后一步(install)会报错,无法创建配置文件。
下载配置文件,保存到/usr/local/httpd/htdocs/zabbix/conf/zabbix.conf.php
重新登陆即可:usename:admin password:zabbix
  

  修改中文:administration>>users>>admin>>language(chinese(zh_CN)) 更新网页即可。
  解决图形界面中文乱码的问题:
从windows下控制面板->字体->选择一种中文字库例如“楷体”
cd /usr/local/httpd/htdocs/zabbix/fonts
mv DejaVuSans.ttf DejaVuSans.ttf.bak
rz 上传字体文件simkai.ttf到当前目录
ls
DejaVuSans.ttf.bak simkai.ttf
vim ../include/defines.inc.php
在VIM编辑中使用替换功能将DejaVuSans替换成simkai,不添加后缀。
:%s/DejaVuSans/simkai
  问题1:
./zabbix_server
./zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
解决:
# find / -name "libmysqlclient.so.20"
/usr/local/mysql-5.7.17/lib/libmysqlclient.so.20
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib
ldconfig
  

  

  后续更新zabbix监控项目和监控报警。。。。




运维网声明 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-666652-1-1.html 上篇帖子: zabbix 网络监控 (二) 下篇帖子: openmanage安装及通过zabbix监控硬件信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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