|
| 1 | +#!/bin/sh |
| 2 | +echo "脚本作者:火星小刘 web:www.huoxingxiaoliu.com email:[email protected]" |
| 3 | + |
| 4 | +#sleep 10 |
| 5 | +zabbix_version=3.0.9 |
| 6 | +zabbixdir=`pwd` |
| 7 | +ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'` |
| 8 | +release=`cat /etc/redhat-release | awk -F "release" '{print $2}' |awk -F "." '{print $1}' |sed 's/ //g'` |
| 9 | + |
| 10 | +cat $zabbixdir/README.md |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | +#sleep 10 |
| 15 | +echo "当前目录为:$zabbixdir" |
| 16 | +echo "本机ip为:$ip" |
| 17 | +echo "安装mysql、apache、php等相关组件" |
| 18 | +sleep 3 |
| 19 | + |
| 20 | +if [ $release = 7 ];then |
| 21 | + rpm -Uvh http://mirrors.isu.net.sa/pub/fedora/fedora-epel/7/x86_64/e/epel-release-7-6.noarch.rpm |
| 22 | + yum -y install php-xml unixODBC unixODBC-devel php-xmlrpc php-mbstring php-mhash patch java-devel wget unzip libxml2 libxml2-devel httpd mariadb mariadb-devel mariadb-server php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath zlib-devel glibc-devel curl-devel gcc automake libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel |
| 23 | + systemctl start mariadb.service |
| 24 | +elif [ $release = 6 ];then |
| 25 | + yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64 -y |
| 26 | + rpm -Uvh http://mirrors.isu.net.sa/pub/fedora/fedora-epel/6/i386/epel-release-6-8.noarch.rpm |
| 27 | + rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm |
| 28 | + yum install unixODBC unixODBC-devel patch java-devel wget unzip libxml2 libxml2-devel httpd mysql mysql-server curl curl-devel net-snmp net-snmp-devel perl-DBI ntpdate zlib-devel mysql-devel glibc-devel gcc-c++ gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-bcmath php56w-xml -y |
| 29 | + service mysqld start |
| 30 | +fi |
| 31 | + |
| 32 | +echo "同步服务器时间" |
| 33 | +ntpdate asia.pool.ntp.org |
| 34 | +echo "创建zabbix用户" |
| 35 | +groupadd zabbix |
| 36 | +useradd -g zabbix zabbix |
| 37 | +sleep 5 |
| 38 | + |
| 39 | + |
| 40 | +echo "设置数据库root密码,默认为123321" |
| 41 | +sleep 3 |
| 42 | +mysqladmin -uroot password "123321" |
| 43 | + |
| 44 | + |
| 45 | +echo "创建zabbix数据库,和用户名密码" |
| 46 | +echo "create database IF NOT EXISTS zabbix default charset utf8 COLLATE utf8_general_ci;" | mysql -uroot -p123321 |
| 47 | +echo "grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';" | mysql -uroot -p123321 |
| 48 | +echo "flush privileges;" | mysql -uroot -p123321 |
| 49 | + |
| 50 | +echo "安装zabbix-${zabbix_version}" |
| 51 | +sleep 3 |
| 52 | +if [ ! -f zabbix-${zabbix_version}.tar.gz ];then |
| 53 | + wget http://netix.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${zabbix_version}/zabbix-${zabbix_version}.tar.gz |
| 54 | +fi |
| 55 | + |
| 56 | +tar zxvf $zabbixdir/zabbix-${zabbix_version}.tar.gz |
| 57 | +cd $zabbixdir/zabbix-${zabbix_version} |
| 58 | +echo `pwd` |
| 59 | +./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java |
| 60 | +sleep 3 |
| 61 | + |
| 62 | +CPU_NUM=$(cat /proc/cpuinfo | grep processor | wc -l) |
| 63 | +if [ $CPU_NUM -gt 1 ];then |
| 64 | + make -j$CPU_NUM |
| 65 | +else |
| 66 | + make |
| 67 | +fi |
| 68 | + |
| 69 | +make install |
| 70 | +mkdir /var/www/html/zabbix |
| 71 | +cp -r $zabbixdir/zabbix-${zabbix_version}/frontends/php/* /var/www/html/zabbix |
| 72 | +cp $zabbixdir/simkai.ttf /var/www/html/zabbix/fonts |
| 73 | +sed -i "s/DejaVuSans/simkai/g" /var/www/html/zabbix/include/defines.inc.php |
| 74 | + |
| 75 | +#cd /var/www/html/zabbix |
| 76 | +#wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3-0-1.patch |
| 77 | +#patch -Np0 <graphtree3-0-1.patch |
| 78 | + |
| 79 | + |
| 80 | +echo "创建zabbix数据库配置档" |
| 81 | +rm -f /var/www/html/zabbix/conf/zabbix.conf.php |
| 82 | +cat > /var/www/html/zabbix/conf/zabbix.conf.php <<END |
| 83 | +<?php |
| 84 | +// Zabbix GUI configuration file. |
| 85 | +global \$DB; |
| 86 | +
|
| 87 | +\$DB['TYPE'] = 'MYSQL'; |
| 88 | +\$DB['SERVER'] = 'localhost'; |
| 89 | +\$DB['PORT'] = '0'; |
| 90 | +\$DB['DATABASE'] = 'zabbix'; |
| 91 | +\$DB['USER'] = 'zabbix'; |
| 92 | +\$DB['PASSWORD'] = 'zabbix'; |
| 93 | +
|
| 94 | +// Schema name. Used for IBM DB2 and PostgreSQL. |
| 95 | +\$DB['SCHEMA'] = ''; |
| 96 | +
|
| 97 | +\$ZBX_SERVER = 'localhost'; |
| 98 | +\$ZBX_SERVER_PORT = '10051'; |
| 99 | +\$ZBX_SERVER_NAME = ''; |
| 100 | +
|
| 101 | +\$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; |
| 102 | +?> |
| 103 | +END |
| 104 | + |
| 105 | +echo "导入zabbix数据库" |
| 106 | +sleep 3 |
| 107 | + |
| 108 | +cd $zabbixdir/zabbix-${zabbix_version} |
| 109 | +mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql |
| 110 | +mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql |
| 111 | +mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql |
| 112 | +echo "创建启动init" |
| 113 | +sleep 3 |
| 114 | +cp misc/init.d/tru64/zabbix_agentd /etc/init.d/ |
| 115 | +cp misc/init.d/tru64/zabbix_server /etc/init.d/ |
| 116 | +chmod +x /etc/init.d/zabbix_* |
| 117 | +sed -i 's:DAEMON=/usr/local/sbin/zabbix_server:DAEMON=/usr/local/zabbix/sbin/zabbix_server:g' /etc/init.d/zabbix_server |
| 118 | +sed -i 's:DAEMON=/usr/local/sbin/zabbix_agentd:DAEMON=/usr/local/zabbix/sbin/zabbix_agentd:g' /etc/init.d/zabbix_agentd |
| 119 | +sed -i 's:DBUser=root:DBUser=zabbix:g' /usr/local/zabbix/etc/zabbix_server.conf |
| 120 | +sed -i '/# DBPassword=/a\DBPassword=zabbix' /usr/local/zabbix/etc/zabbix_server.conf |
| 121 | +echo "设置php.ini相关参数" |
| 122 | +sleep 3 |
| 123 | +cp /etc/php.ini /etc/php.ini.zabbixbak |
| 124 | +sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini |
| 125 | +sed -i '/max_input_time =/s/60/300/' /etc/php.ini |
| 126 | +sed -i '/mbstring.func_overload = 0/a\mbstring.func_overload = 1' /etc/php.ini |
| 127 | +sed -i '/post_max_size =/s/8M/32M/' /etc/php.ini |
| 128 | +sed -i '/;always_populate_raw_post_data = -1/a\always_populate_raw_post_data = -1' /etc/php.ini |
| 129 | +sed -i '/;date.timezone =/a\date.timezone = PRC' /etc/php.ini |
| 130 | + |
| 131 | +echo "设置apache" |
| 132 | +sleep 3 |
| 133 | +sed -i '/#ServerName www.example.com:80/a\ServerName zabbix' /etc/httpd/conf/httpd.conf |
| 134 | +if [ $release = 7 ];then |
| 135 | + systemctl start httpd.service |
| 136 | +elif [ $release = 6 ];then |
| 137 | + service httpd start |
| 138 | +fi |
| 139 | + |
| 140 | + |
| 141 | +echo "启动zabbix" |
| 142 | +/etc/init.d/zabbix_server restart |
| 143 | +/etc/init.d/zabbix_agentd restart |
| 144 | +/usr/local/zabbix/sbin/zabbix_java/startup.sh |
| 145 | + |
| 146 | +echo "数据库默认root密码zabbix123321;zabbix-Database name:zabbix/User:zabbix/Password:zabbix" |
| 147 | +cp $zabbixdir/zabbix-${zabbix_version}.tar.gz /var/www/html/zabbix |
| 148 | +echo "打开http://$ip/zabbix,进行下一步安装" |
0 commit comments