Created
August 26, 2017 03:59
-
-
Save riipandi/e903fc76a585731acf7309b351876f2a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# https://www.hiroom2.com/2017/06/20/debian-9-install-zabbix/ | |
# | |
set -e | |
MYSQL_VERSION=5.5 | |
[ -z "${MYSQL_PASSWD}" ] && MYSQL_PASSWD=PASSWD_MYSQL | |
[ -z "${ZABBIX_PASSWD}" ] && ZABBIX_PASSWD=zabbix | |
zabbix_server_install() | |
{ | |
cat <<EOF | sudo debconf-set-selections | |
mysql-server-${MYSQL_VERSION} mysql-server/root_password password ${MYSQL_PASSWD} | |
mysql-server-${MYSQL_VERSION} mysql-server/root_password_again password ${MYSQL_PASSWD} | |
EOF | |
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \ | |
php-mysql libapache2-mod-php | |
sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf \ | |
/etc/apache2/conf-available/zabbix-frontend-php.conf | |
sudo a2enconf zabbix-frontend-php | |
timezone=$(cat /etc/timezone) | |
sudo sed -e 's/^post_max_size = .*/post_max_size = 16M/g' \ | |
-e 's/^max_execution_time = .*/max_execution_time = 300/g' \ | |
-e 's/^max_input_time = .*/max_input_time = 300/g' \ | |
-e "s:^;date.timezone =.*:date.timezone = \"${timezone}\":g" \ | |
-i /etc/php/7.0/apache2/php.ini | |
cat <<EOF | sudo mysql -uroot -p${MYSQL_PASSWD} | |
create database zabbix character set utf8 collate utf8_bin; | |
grant all privileges on zabbix.* to zabbix@localhost identified by '${ZABBIX_PASSWD}'; | |
exit | |
EOF | |
for sql in schema.sql.gz images.sql.gz data.sql.gz; do | |
zcat /usr/share/zabbix-server-mysql/"${sql}" | \ | |
sudo mysql -uzabbix -p${ZABBIX_PASSWD} zabbix; | |
done | |
sudo sed -e 's/# ListenPort=.*/ListenPort=10051/g' \ | |
-e "s/# DBPassword=.*/DBPassword=${ZABBIX_PASSWD}/g" \ | |
-i /etc/zabbix/zabbix_server.conf | |
# Skip setup.php | |
cat <<EOF | sudo tee /etc/zabbix/zabbix.conf.php | |
<?php | |
// Zabbix GUI configuration file. | |
global \$DB; | |
\$DB['TYPE'] = 'MYSQL'; | |
\$DB['SERVER'] = 'localhost'; | |
\$DB['PORT'] = '0'; | |
\$DB['DATABASE'] = 'zabbix'; | |
\$DB['USER'] = 'zabbix'; | |
\$DB['PASSWORD'] = '${ZABBIX_PASSWD}'; | |
// Schema name. Used for IBM DB2 and PostgreSQL. | |
\$DB['SCHEMA'] = ''; | |
\$ZBX_SERVER = 'localhost'; | |
\$ZBX_SERVER_PORT = '10051'; | |
\$ZBX_SERVER_NAME = ''; | |
\$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; | |
?> | |
EOF | |
sudo a2enmod ssl | |
sudo a2ensite default-ssl | |
sudo systemctl enable apache2 zabbix-server | |
sudo systemctl restart apache2 zabbix-server | |
} | |
zabbix_agent_install() | |
{ | |
# This Hostname is used for Host name in | |
# Configuration -> Hosts -> Create Host. | |
sudo apt install -y zabbix-agent | |
sudo sed -e "s/^Hostname=.*/Hostname=localhost/g" \ | |
-i /etc/zabbix/zabbix_agentd.conf | |
} | |
zabbix_main() | |
{ | |
zabbix_server_install | |
zabbix_agent_install | |
echo "\nAll done, login with Admin as username and zabbix as password!" | |
} | |
zabbix_main |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment