Skip to content

Instantly share code, notes, and snippets.

@AvasDream
Last active November 23, 2019 09:08
Show Gist options
  • Save AvasDream/ff1e96b4965982b27f1b202c51b95379 to your computer and use it in GitHub Desktop.
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
#!/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