1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/bash


#########################################
# ShVersion:V1.0
# Zabbix_Version::5.0
# ZuoZhe:Zux
#########################################


function main() {
echo -e " #######################################"
echo -e " # Under installation…… #"
echo -e " #######################################"
tar_rpm
create_yum
configure_yum
install_zabbix_server_and_agent
install_mariadb
install_apache
start_mariadb
configure_mariadb
configure_php
start_zabbix
}


function tar_rpm() {
if [ -d /data/ ]
then
unzip zabbix5.zip -d /data/ &> /dev/null
else
mkdir -p /data/
unzip zabbix5.zip -d /data/ &> /dev/null
fi
}

function create_yum() {
check=$(yum makecache &> /dev/null)
if [[ $check -eq 0 ]]
then
yum -y install createrepo &> /dev/null
createrepo /data/zabbix5.0 &> /dev/null
if [ $? != 0 ]
then
echo -e "\033[31m 提示:\033[0m "创建Yum源失败!!!
exit 0
fi
else
echo -e "\033[31m 提示:\033[0m " 请检查yum源!!!
exit 0
fi
}

function configure_yum() {
cat >> /etc/yum.repos.d/zabbix.repo << EOF
[zabbix]
name=zabbix
baseurl=file:///data/zabbix5.0/
enabled=1
gpgcheck=0
EOF
}

function install_zabbix_server_and_agent() {
yum -y install zabbix-server-mysql zabbix-agent &> /dev/null
check_zabbix_server_agent=$(rpm -qa | grep zabbix | wc -l)
if [[ $check_zabbix_server_agent -eq 2 ]]
then
echo ""
else
echo -e "\033[31m 提示:\033[0m "Zabbix-Server-Mysql AND Zabbix-agnet Install Failed!!!
exit 0
fi
}

function install_mariadb() {
yum -y install mariadb-server.x86_64 &> /dev/null
check_mariadb=$(rpm -qa | grep mariadb | wc -l)
if [[ $check_mariadb -eq 3 ]]
then
echo ""
else
echo -e "\033[31m 提示:\033[0m "Mariadb Install Failed!!!
exit 0
fi
}

function install_apache() {
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl &> /dev/null
check_apache=$(rpm -qa | grep zabbix | wc -l)
if [[ $check_apache -eq 6 ]]
then
echo ""
else
echo -e "\033[31m 提示:\033[0m "Zabbix-apache Install Failed!!!
fi
}

function start_mariadb() {
User="root"
Password="123.com"
systemctl enable mariadb.service &> /dev/null
systemctl start mariadb.service
mysqladmin -u $User password $Password
check_mariadb_pid=$(ps -ef | grep mysql | wc -l )
if [[ $check_mariadb_pid -eq 3 ]]
then
echo ""
else
echo -e "\033[31m 提示:\033[0m "Mariadb is Not Starting!!!
fi
}

function configure_mariadb() {
ZabbixUser="zabbix"
ZabbixPasswd="123.com"
User="root"
Password="123.com"
mysql -u $User -p$Password -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -u $User -p$Password -e "create user zabbix@localhost identified by '123.com';"
mysql -u $User -p$Password -e "grant all privileges on zabbix.* to zabbix@localhost;"
cd /usr/share/doc/zabbix-server-mysql-5.0.10/
gzip -d create.sql.gz
mysql -u $ZabbixUser -p$ZabbixPasswd zabbix < create.sql
}

function configure_php() {
echo "DBPassword = 123.com" >> //etc/zabbix/zabbix_server.conf
echo "php_value[date.timezone] = Asia/Shanghai" >> /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
}

function start_zabbix() {
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm &> /dev/null
echo -e "\033[31m 提示:\033[0m "Zabbix install Success!!!
echo -e "\033[35m 访问:\033[0m "IP/zabbix
echo -e "Default Username: Admin"
echo -e "Default Password: zabbix"
}


################### Main ###################
main