zabbix4.0.5源码安装

#!/bin/bash

#版本详情

#1.  zabbix-4.0.5.tar.gz

#2.  nginx-1.16.1.tar.gz 

#3.  mysql-5.6.17.tar.gz

#4.  php-7.2.27.tar.gz

echo nameserver 8.8.8.8 >> /etc/resolv.conf

#首先安装好相关依赖再进行编译

yum -y install vim

yum -y install bash-com*

#相关mysql依赖进行安装

yum -y install make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf automake

sleep 5

#安装nginx编译工具 gcc

yum -y install gcc  pcre pcre-devel openssl  openssl-devel

yum -y install /usr/bin/unzip

sleep 5

#安装php相关依赖

yum -y install libxml2-devel openssl-devel net-snmp net-snmp-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel bzip2 bzip2-devel freetype-devel gmp-devel readline-devel libxslt-devel fontconfig

sleep 60

#创建软件启动对应用户

useradd -s /sbin/nologin -M zabbix

useradd -s /sbin/nologin -M nginx

useradd -s /sbin/nologin -M mysql

#---------部署mysql------------------------

#创建mysql相关存放目录

mkdir -p /home/deploy/mysql/data

mkdir -p /home/deploy/mysql/logs/error-log

mkdir -p /home/deploy/mysql/logs/slow-log

mkdir -p /home/deploy/mysql/logs/bin-log

mkdir -p /home/deploy/mysql/temp

mkdir -p /home/deploy/mysql/sock

mkdir -p /home/deploy/mysql/pid

#清理mysql环境

rpm -e mariadb-libs --nodeps

rpm -e mariadb-devel --nodeps

rm -rf /var/lib/mysql

rm -rf /etc/my.cnf

rm -rf /etc/init.d/mysql

rm -rf /etc/init.d/zabbix_server

rm -rf /etc/init.d/zabbix_agentd

rm -rf /usr/lib/systemd/system/nginx.service

sleep 5

#解压安装包

cd /home/deploy

tar -zxvf mysql-5.6.17.tar.gz

#编译

cd ./mysql-5.6.17

cmake -DCMAKE_INSTALL_PREFIX=/home/deploy/mysql -DMYSQL_UNIX_ADDR=/home/deploy/mysql/sock/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -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=/home/deploy/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=20001 -DENABLE_DOWNLOADS=1

#sleep 5

#编译成功后执行安装命令

make -j 8

make install

chown -R mysql:mysql /home/deploy/mysql

cd /home/deploy/mysql

#初始化mysql

scripts/mysql_install_db --user=mysql --basedir=/home/deploy/mysql --datadir=/home/deploy/mysql/data

#mysql添加到系统服务

cp /home/deploy/mysql/support-files/mysql.server /etc/init.d/mysql

#使用安装包中的my.cnf

cp -r /home/deploy/my.cnf /etc

chown mysql:mysql /etc/my.cnf

#启动mysql进程

/etc/init.d/mysql restart

#mysql开机启动

chkconfig mysql on

#检查mysql是否启动

ss -antp |grep 20001

sleep 5

echo "------------------"

echo "mysql部署成功"

echo "mysql部署成功"

echo "mysql部署成功"

echo "------------------"

#设置环境变量

cp -r /home/deploy/mysql/bin/mysql  /usr/local/sbin

cp -r /home/deploy/mysql/bin/mysqladmin  /usr/local/sbin

#设置root登陆密码

mysqladmin -u root password 'Oq1dQ@mIYU0IfasWi'

echo "密码:Oq1dQ@mIYU0IfasWi"

echo "密码:Oq1dQ@mIYU0IfasWi"

#登陆db创建zabbix库

mysql -uroot -pOq1dQ@mIYU0IfasWi -e "create database zabbix character set utf8;"

sleep 5

mysql -uroot -pOq1dQ@mIYU0IfasWi -e "grant all on zabbix.* to  'zabbix'@'%'  identified by 'zabbix';"

sleep 5

mysql -uroot -pOq1dQ@mIYU0IfasWi -e "grant all on zabbix.* to  'zabbix'@'localhost'  identified by 'zabbix';"

sleep 5

mysql -uroot -pOq1dQ@mIYU0IfasWi -e "flush privileges;"

sleep 5

#--------------------------------------------------

#创建nginx用户

#useradd -s /sbin/nologin -M nginx

#休息5秒

sleep 5

#解压nginx安装包

cd /home/deploy

tar -zxvf nginx-1.16.1.tar.gz

unzip nginx_upstream_check_module-master.zip

echo "解压成功nginx解压成功"

mv nginx_upstream_check_module-master/ nginx-1.16.1/

sleep 5

cd ./nginx-1.16.1

patch -p1 </home/deploy/nginx-1.16.1/nginx_upstream_check_module-master/check_1.16.1+.patch

./configure --prefix=/home/deploy/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/home/deploy/nginx-1.16.1/nginx_upstream_check_module-master

#编译成功后执行安装命令

make -j 4

make install

sleep 5

rm -rf /home/deploy/nginx/conf/nginx.conf

cp -r /home/deploy/nginx.conf /home/deploy/nginx/conf

chown nginx:nginx -R /home/deploy/nginx

#sed -i 's/#user  nobody;/user  nginx;/g' /home/deploy/nginx/conf/nginx.conf

#sed -i 's/listen      80;/listen      20002;/g' /home/deploy/nginx/conf/nginx.conf

#sed -i '38 r a.txt' /home/deploy/nginx/conf/nginx.conf

#启动Nginx

cd /home/deploy/nginx/sbin

cp nginx  /usr/local/sbin/

./nginx -c /home/deploy/nginx/conf/nginx.conf

#检查nginx是否启动成功

ps aux |grep nginx

echo "---------------------------"

echo "部署成功Nginx部署成功"

echo "部署成功Nginx部署成功"

echo "部署成功Nginx部署成功"

echo "---------------------------"

#Nginx开机自启

#echo sh /home/deploy/nginx/sbin/nginx >> /etc/rc.local

chmod 755 /home/deploy/nginx.service

cp -r /home/deploy/nginx.service /usr/lib/systemd/system/

systemctl enable nginx.service

systemctl daemon-reload

echo "---------------------------"

echo "Nginx开机启动已设置成功"

echo "Nginx开机启动已设置成功"

echo "Nginx开机启动已设置成功"

echo "---------------------------"

sleep 10

#---------------------------------------------------

#---------------部署zabbix-server-------------------

#安装zabbix相关依赖

yum -y install unixODBC-devel mysql-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel

sleep 5

cd /home/deploy

#解压zabbix-server安装包

tar -zxvf zabbix-4.0.5.tar.gz

#休息5秒

sleep 5

echo "解压成功zabbix解压成功"

#初始化zabbix库

sleep 5

echo '将要初始化zabbix库啦,请查看相关db.sql'

cd /home/deploy/zabbix-4.0.5/database/mysql

pwd

sleep 5

mysql -uzabbix -pzabbix -h localhost zabbix < schema.sql

sleep 2

mysql -uzabbix -pzabbix -h localhost zabbix < images.sql

sleep 2

mysql -uzabbix -pzabbix -h localhost zabbix < data.sql

sleep 2

#编译zabbix,注意mysql目录

cd /home/deploy/zabbix-4.0.5

./configure --prefix=/home/deploy/zabbix --enable-server --enable-agent --with-mysql=/home/deploy/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

sleep 15

#编译成功后执行安装命令

make install

sleep 10

chown -R zabbix:zabbix /home/deploy/zabbix

#修改zabbix-server相关配置

sed -i 's/# DBPassword=/DBPassword=zabbix/g' /home/deploy/zabbix/etc/zabbix_server.conf

sed -i '/# DBSocket=/a DBSocket=/home/deploy/mysql/sock/mysql.sock' /home/deploy/zabbix/etc/zabbix_server.conf

sed -i '/# StartDiscoverers=1/a StartDiscoverers=50' /home/deploy/zabbix/etc/zabbix_server.conf

sed -i '/# UnavailableDelay=60/a UnavailableDelay=300' /home/deploy/zabbix/etc/zabbix_server.conf

sed -i '/# DBPort=/a DBPort=20001' /home/deploy/zabbix/etc/zabbix_server.conf

#以后进行优化,暂时不影响

# PidFile=/tmp/zabbix_server.pid

#LogFile=/tmp/zabbix/log/zabbix_server.log

sleep 5

#copy命令到系统命令存放处(方便调用)

mkdir -p /home/deploy/nginx/html/zabbix_web

cp -R /home/deploy/zabbix-4.0.5/frontends/php/* /home/deploy/nginx/html/zabbix_web

chown -R nginx:nginx /home/deploy/nginx

#启动zabbix

/home/deploy/zabbix/sbin/zabbix_server

#检查zabbix是否启动成功

netstat -nlutp |grep zabbix_server

sleep 5

echo "---------------------------"

echo "部署成功zabbix-server部署成功"

echo "部署成功zabbix-server部署成功"

echo "部署成功zabbix-server部署成功"

echo "---------------------------"

#zabbix开机自启

#echo /home/deploy/zabbix/sbin/zabbix_server >> /etc/rc.local

cp /home/deploy/zabbix-4.0.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/

cp /home/deploy/zabbix-4.0.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/home\/deploy\/zabbix/g' /etc/init.d/zabbix_server

sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/home\/deploy\/zabbix/g' /etc/init.d/zabbix_agentd

chkconfig --add zabbix_server

chkconfig --add zabbix_agentd

chkconfig zabbix_server on

chkconfig zabbix_agentd on

sleep 5

#-------------------------------------------------

#休息5秒

sleep 5

cd /home/deploy

#解压nginx安装包

tar -zxvf php-7.2.27.tar.gz

echo "解压成功php解压成功"

echo "解压成功php解压成功"

sleep 5

pwd

#编译php,zabbix5版本以上需要更高版本的php

cd php-7.2.27

./configure --prefix=/home/deploy/php --with-mysqli=/home/deploy/mysql/bin/mysql_config --enable-inline-optimization --enable-fpm --enable-soap --enable-pcntl --enable-xml --with-libxml-dir --with-xmlrpc --with-openssl --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --disable-mbregex --disable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --without-pear

sleep 30

#编译成功后执行安装命令

make -j 4

make install

sleep 5

#拷贝服务和配置文件及属主和属组

cp /home/deploy/php-7.2.27/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service

cp /home/deploy/php/etc/{php-fpm.conf.default,php-fpm.conf}

cp /home/deploy/php/etc/php-fpm.d/www.conf{.default,}

cd /home/deploy/php-7.2.27

cp php.ini-production /home/deploy/php/lib/php.ini

chown nginx:nginx -R /home/deploy/php

#优化并启动php

sed -i 's/post_max_size = 8M/post_max_size = 16M/g' /home/deploy/php/lib/php.ini

sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /home/deploy/php/lib/php.ini

sed -i 's/max_input_time = 60/max_input_time = 300/g' /home/deploy/php/lib/php.ini

sed -i 's/;date.timezone =/date.timezone = PRC/g' /home/deploy/php/lib/php.ini

systemctl enable php-fpm.service

systemctl daemon-reload

systemctl restart php-fpm.service

#检查php是否启动成功

ps aux |grep php

sleep 10

echo "---------------------------"

echo "部署成功php部署成功"

echo "部署成功php部署成功"

echo "部署成功php部署成功"

echo "---------------------------"

echo "zabbix修改字体,解决图形乱码问题"

echo "zabbix修改字体,解决图形乱码问题"

echo "5"

sleep 1

echo "4"

sleep 1

echo "3"

sleep 1

echo "2"

sleep 1

echo "1"

sleep 1

rm -rf /home/deploy/nginx/html/zabbix_web/fonts/DejaVuSans.ttf

mv /home/deploy/simkai.ttf /home/deploy/nginx/html/zabbix_web/fonts/

sed -i "s/DejaVuSans/simkai/g" /home/deploy/nginx/html/zabbix_web/include/defines.inc.php

echo "我的工作完成啦,拜拜"

echo "我的工作完成啦,拜拜"

echo "我的工作完成啦,拜拜"

echo "我的工作完成啦,拜拜"

echo "5"

sleep 1

echo "4"

sleep 1

echo "3"

sleep 1

echo "2"

sleep 1

echo "1"

sleep 1

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容