#!/bin/bash # Script de Instalação do Pacote de Otimização Zabbix 7.0 LTS # Executar como ROOT if [ "$EUID" -ne 0 ]; then echo "❌ Por favor, execute como root (sudo ./install.sh)" exit 1 fi echo "=======================================================" echo "🚀 Iniciando Otimização do Zabbix 7.0 LTS" echo "=======================================================" TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="/root/zabbix_backup_$TIMESTAMP" echo "📂 Criando diretório de backup: $BACKUP_DIR" mkdir -p "$BACKUP_DIR" # Função para backup e cópia install_config() { SRC=$1 DEST=$2 if [ -f "$DEST" ]; then echo " ↪ Backup de $DEST..." cp "$DEST" "$BACKUP_DIR/" fi echo " ↪ Instalando $SRC em $DEST..." cp "$SRC" "$DEST" } # 1. Zabbix Server echo "🔧 Configurando Zabbix Server..." install_config "zabbix_server.conf" "/etc/zabbix/zabbix_server.conf" # 2. PostgreSQL echo "🔧 Configurando PostgreSQL 16..." # Ajuste o caminho se a versão for diferente if [ -d "/etc/postgresql/16/main" ]; then install_config "postgresql.conf" "/etc/postgresql/16/main/postgresql.conf" else echo "⚠️ Diretório PostgreSQL 16 não encontrado. Pulando config automática." echo " Arquivo disponível em: $(pwd)/postgresql.conf" fi # 3. Nginx echo "🔧 Configurando Nginx..." install_config "nginx.conf" "/etc/nginx/nginx.conf" install_config "zabbix.conf" "/etc/nginx/conf.d/zabbix.conf" # Remover default se existir [ -f "/etc/nginx/sites-enabled/default" ] && rm "/etc/nginx/sites-enabled/default" # 4. PHP echo "🔧 Configurando PHP 8.3..." # Ajuste o caminho se a versão for diferente if [ -d "/etc/php/8.3/fpm" ]; then install_config "99-zabbix.ini" "/etc/php/8.3/fpm/conf.d/99-zabbix.ini" install_config "zabbix_fpm.conf" "/etc/php/8.3/fpm/pool.d/zabbix.conf" else echo "⚠️ Diretório PHP 8.3 não encontrado. Pulando config automática." fi # 5. Redis echo "🔧 Configurando Redis..." install_config "redis.conf" "/etc/redis/redis.conf" chown redis:redis /etc/redis/redis.conf chmod 640 /etc/redis/redis.conf # 6. Database Setup echo "🗄️ ATENÇÃO: Configuração de Banco de Dados" echo " Para aplicar as otimizações TimescaleDB, execute manualmente:" echo " sudo -u postgres psql -d zabbix -f timescaledb_setup.sql" # Finalização echo "=======================================================" echo "✅ Arquivos copiados com sucesso!" echo "🔄 Lembre-se de ajustar as SENHAS nos arquivos:" echo " - /etc/zabbix/zabbix_server.conf (DBPassword)" echo " - /etc/redis/redis.conf (requirepass)" echo " - /etc/php/8.3/fpm/conf.d/99-zabbix.ini (session.save_path)" echo "" echo "Para aplicar as alterações, reinicie os serviços:" echo "systemctl restart postgresql redis-server php8.3-fpm nginx zabbix-server" echo "======================================================="