# Variaveis de ambiente PHPINI="/etc/php.ini" ZBX_VER='2.5.1'; SENHA="creative2014"; SENHAROOT="creative2014_root"; NOMEBANCO="zbx_db3"; USUARIODB="zbx_db3"; # Criando e acessando o diretorio temporario de instalacao mkdir /install cd /install # Habilitando repositorio centos wget http://epel.gtdinternet.com/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-*.rpm # Atualizando pacotes e instalando os pre-req yum -y update; yum -y groupinstall 'Development Tools' ; yum -y install wget net-snmp net-snmp-devel net-snmp-utils net-snmp-libs iksemel-devel zlib-devel libc-devel curl-devel automake libidn-devel openssl-devel rpm-devel OpenIPMI-devel libssh2-devel make fping ; yum -y install mysql-devel mysql mysql-server; # Instalando php 5.4 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm yum -y install php54w php54w-bcmath php54w-gd php54w-mbstring php54w-xml php54w-ldap php54w-mysql php54w-ldap php54w-mysql httpd --skip-broken # Criando o usuario zabbix useradd zabbix -s /bin/false # Configurando o php.ini sed -i "s/date.timezone/;date.timezone/" $PHPINI; sed -i "s/max_execution_time/;max_execution_time/" $PHPINI; sed -i "s/max_input_time/;max_input_time/" $PHPINI; sed -i "s/post_max_size/;post_max_size/" $PHPINI; echo "date.timezone =America/Sao_Paulo" >> $PHPINI; echo "max_execution_time = 300" >> $PHPINI; echo "max_input_time = 300" >> $PHPINI; echo "post_max_size = 16M" >> $PHPINI; echo "always_populate_raw_post_data=-1" >> $PHPINI # Descobre a ultima versao de testes do zabbix, baixa e descompacta URL_DOWN=`curl -s http://www.zabbix.com/developers.php | grep $ZBX_VER | awk -Fhref '{print $2}' | awk -F\> '{print $1}' | awk -F\" '{print $2}'` curl $URL_DOWN -o zabbix.tgz tar -xzvf zabbix.tgz # Garantindo o autostart de mysql e apache chkconfig --level 35 httpd on chkconfig --add httpd chkconfig --level 35 mysqld on chkconfig --add mysqld service mysqld restart service httpd restart #Definindo a senha do root /usr/bin/mysqladmin -u root password $SENHAROOT; # Configurando o banco de dados echo "create database $NOMEBANCO character set utf8;" | mysql -uroot -p$SENHAROOT echo "GRANT ALL PRIVILEGES ON $NOMEBANCO.* TO $USUARIODB@localhost IDENTIFIED BY '$SENHA' WITH GRANT OPTION;" | mysql -uroot -p$SENHAROOT # Populando a base de dados cd /install/zabbix-$ZBX_VER cat database/mysql/schema.sql | mysql -u $USUARIODB -p$SENHA $NOMEBANCO && cat database/mysql/images.sql | mysql -u $USUARIODB -p$SENHA $NOMEBANCO && cat database/mysql/data.sql | mysql -u $USUARIODB -p$SENHA $NOMEBANCO; # Criando o frontend rm /var/www/html/index.html cp -Rpv frontends/php/* /var/www/html/ # Criando o arquivo de configuracao do frontend echo -e " " > /var/www/html/conf/zabbix.conf.php # Compilando os binarios cd /install/zabbix-$ZBX_VER # Para Server e agente ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-openipmi && make install # Para proxy e agente #./configure --enable-proxy --enable-agent --with-sqlite3 --with-net-snmp --with-libcurl --with-openipmi && make install # Configurando inicializacao cp -Rpv misc/init.d/fedora/core5/zabbix_* /etc/init.d/ chmod +x /etc/init.d/za* chkconfig --add zabbix_server chkconfig --add zabbix_agentd chkconfig --level 35 zabbix_server on chkconfig --level 35 zabbix_agentd on chmod 755 /var/www/html/conf/zabbix.conf.php # Configurando o SELinux sed -i "s/=enforcing/=disabled/g" /etc/selinux/config # Desabilita o SELINUX neste boot setenforce 0 # Baixando os scripts de configuracao do agente e do servidor, conforme livro cd /install curl -s https://raw.githubusercontent.com/zabbix-brasil/livrozabbix2014/master/Capitulo_2/configuraAgente.sh -o configuraAgente.sh curl -s https://raw.githubusercontent.com/zabbix-brasil/livrozabbix2014/master/Capitulo_2/criaConfServer.sh -o criaConfServer.sh sh configuraAgente.sh # Mudando banco e senha para o novo nome do zbx3 para testes sed -i "s/zbx_db/zbx_db3/g" criaConfServer.sh sh criaConfServer.sh service zabbix_agentd restart service zabbix_server restart iptables -F echo -e "Alterar o arquivo /etc/sysconfig/iptables adicionando as regras de iptables -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10050 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10051 -j ACCEPT "