#!/bin/bash

DOMAIN="zbx.getic.pe.gov.br"
DBPASS="Zabbix@2026"

echo "======================================="
echo " INSTALANDO ZABBIX SERVER 7.4"
echo " Ubuntu 22.04"
echo " Domínio: $DOMAIN"
echo "======================================="

sleep 2


echo "[1/12] Atualizando sistema..."

apt update
apt upgrade -y


echo "[2/12] Instalando dependências..."

apt install -y wget curl gnupg mariadb-server nginx php8.1-fpm


echo "[3/12] Instalando repositório Zabbix 7.4..."

wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb

dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb

apt update


echo "[4/12] Instalando Zabbix Server Frontend Agent..."

apt install -y \
zabbix-server-mysql \
zabbix-frontend-php \
zabbix-nginx-conf \
zabbix-sql-scripts \
zabbix-agent


echo "[5/12] Criando banco de dados..."

mysql <<EOF

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '$DBPASS';

GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';

SET GLOBAL log_bin_trust_function_creators = 1;

FLUSH PRIVILEGES;

EOF


echo "[6/12] Importando banco Zabbix..."

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p$DBPASS zabbix


echo "[7/12] Desativando log_bin_trust_function_creators..."

mysql <<EOF

SET GLOBAL log_bin_trust_function_creators = 0;

EOF


echo "[8/12] Configurando senha banco Zabbix..."

sed -i "s/# DBPassword=/DBPassword=$DBPASS/" /etc/zabbix/zabbix_server.conf


echo "[9/12] Configurando Nginx..."

sed -i "s/# listen 8080;/listen 80;/" /etc/zabbix/nginx.conf

sed -i "s/# server_name example.com;/server_name $DOMAIN;/" /etc/zabbix/nginx.conf


echo "[10/12] Ajustando PHP timezone..."

sed -i "s/# php_value date.timezone Europe\\/Riga/php_value date.timezone America\\/Recife/" /etc/zabbix/php-fpm.conf


echo "[11/12] Reiniciando serviços..."

systemctl restart zabbix-server
systemctl restart zabbix-agent
systemctl restart nginx
systemctl restart php8.1-fpm


echo "[12/12] Habilitando inicialização automática..."

systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable nginx
systemctl enable php8.1-fpm


echo ""
echo "======================================="
echo " ZABBIX INSTALADO COM SUCESSO"
echo "======================================="

echo ""
echo "Acesse:"
echo "http://$DOMAIN"

echo ""
echo "Banco:"
echo "Usuário: zabbix"
echo "Senha: $DBPASS"

echo ""
echo "Login Web:"
echo "Usuário: Admin"
echo "Senha: zabbix"

echo "======================================="