Last active
November 23, 2019 09:08
-
-
Save AvasDream/ff1e96b4965982b27f1b202c51b95379 to your computer and use it in GitHub Desktop.
Easy install script for Zabbix 4.0 on Ubuntu 16.04 Server, works also with Ubuntu 18.04 but needs ppa of 16.04 in sources.list
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/bash | |
version=4.0.2 | |
echo "execute with sudo privileges" | |
sudo true | |
echo "Install GCC" | |
sudo apt install gcc -y > /dev/null | |
echo "Install make" | |
sudo apt install make -y > /dev/null | |
echo "install postgresql server" | |
sudo apt install postgresql libpq-dev -y > /dev/null | |
echo "**************************************************" | |
ss -nlt | grep 5432 | |
echo "*************************************************" | |
sleep 3 | |
echo "Install SNMP lib" | |
sudo apt install libsnmp-dev -y > /dev/null | |
echo "Install ldap-dev" | |
sudo apt install libldap2-dev -y > /dev/null | |
echo "Install Libevent" | |
sudo apt install libevent-dev -y > /dev/null | |
echo "Install Libxml2-dev" | |
sudo apt install libxml2-dev -y > /dev/null | |
echo "Install LibCurl" | |
sudo apt install libcurl4-gnutls-dev -y > /dev/null | |
echo "Install libipmi-dev" | |
sudo apt install libopenipmi-dev -y > /dev/null | |
echo "Install LinuxODBC" | |
#sudo apt-get install unixodbc-dev unixodbc-bin unixodbc -y > /dev/null | |
sudo apt-get install unixodbc-dev -y > /dev/null | |
echo "Install Jabber Support" | |
#sudo apt install jabberd2 libiksemel-dev libiksemel-utils libiksemel3 -y > /dev/null | |
wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/libiksemel/1.4-3build1/libiksemel_1.4.orig.tar.gz > /dev/null | |
tar xzvf libiksemel_1.4.orig.tar.gz > /dev/null | |
cd iksemel-1.4/ > /dev/null | |
./configure > /dev/null | |
sudo make > /dev/null | |
sudo make install > /dev/null | |
cd .. | |
echo "Install Java" | |
sudo apt install default-jdk -y > /dev/null | |
echo "Install SSH2" | |
#sudo apt-get install libssh2-1 libssh2-1-dev php-ssh2 -y > /dev/null | |
wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/libssh2/1.8.0-1/libssh2_1.8.0.orig.tar.gz > /dev/null | |
tar xzvf libssh2_1.8.0.orig.tar.gz > /dev/null | |
cd libssh2-1.8.0/ > /dev/null | |
./configure > /dev/null | |
sudo make > /dev/null | |
sudo make install > /dev/null | |
echo "Install LibPcre" | |
sudo apt install libpcre3-dev -y > /dev/null | |
echo "Install Php" | |
sudo add-apt-repository ppa:ondrej/php -y > /dev/null | |
sudo apt update > /dev/null | |
sudo apt install php7.2 php-gd php7.2-ldap php7.2-bcmath php7.2-mbstring php7.2-pgsql php7.2-xmlreader -y > /dev/null | |
echo "Install Apache Server" | |
sudo apt install apache2 libapache2-mod-php7.2 -y > /dev/null | |
sudo mkdir /opt/zabbix.$version | |
echo "Download Zabbix Sources" | |
sudo mkdir ~/build-zabbix.$version | |
cd ~/build-zabbix.$version | |
wget "https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/$version/zabbix-$version.tar.gz" > /dev/null | |
echo "Extract Sources" | |
tar -zxvf zabbix-$version.tar.gz > /dev/null | |
echo "Create Zabbix User if the user does not exist" | |
id -u zabbix > /dev/null | |
if [ $? -eq 1 ] | |
then sudo groupadd zabbix | |
sudo useradd -g zabbix zabbix | |
fi | |
echo "Configure and Build Zabbix" | |
cd zabbix-$version | |
./configure --enable-server --enable-agent --enable-proxy --prefix=/opt/zabbix.$version --enable-java --with-ssh2 --with-postgresql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-zlib --with-libpcre --with-openssl --with-jabber --with-unixodbc --with-openipmi --with-ldap --with-iconv > /dev/null | |
sudo make install -j 10 > /dev/null | |
cd ~/build-zabbix.$version/zabbix-$version | |
echo "Configure Postrgresql" | |
cd database/postgresql | |
sudo -u postgres createuser --pwprompt zabbix | |
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix > /dev/null | |
cat schema.sql | sudo -u zabbix psql zabbix > /dev/null | |
cat images.sql | sudo -u zabbix psql zabbix > /dev/null | |
cat data.sql | sudo -u zabbix psql zabbix > /dev/null | |
cd ../.. | |
echo "copy frontend in webroot" | |
cd frontends/php | |
sudo mkdir /var/www/html/zabbix-$version | |
sudo cp -a . /var/www/html/zabbix-$version | |
sudo chown -R www-data:www-data /var/www/html/ > /dev/null | |
cd /var/www/html/zabbix-$version/ | |
sudo sudo chown -R www-data:www-data . > /dev/null | |
sudo service apache2 start | |
echo "Installation finished" | |
echo "Edit zabbix server configuration manually" | |
echo "And set up webfrontend" | |
echo "Location: /opt/zabbix.4.0.2/etc/zabbix_server.conf" | |
echo "Edit php.ini manually" | |
echo "Location: /etc/php/7.2/apache2/php.ini" | |
sudo service apache2 restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment