From fb6f8b5bd2bd3fe6937040f59f48b017ae936a31 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Sun, 21 Sep 2025 01:34:38 -0300 Subject: [PATCH] =?UTF-8?q?[Auto-Sync]=20Atualiza=C3=A7=C3=A3o=20das=20con?= =?UTF-8?q?figura=C3=A7=C3=B5es=20em=20srvproxy001.itguys.com.br=20-=20202?= =?UTF-8?q?5-09-21=2001:34:38?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nginx/sites-available/generate_certs.sh | 100 ------------------------ 1 file changed, 100 deletions(-) delete mode 100755 nginx/sites-available/generate_certs.sh diff --git a/nginx/sites-available/generate_certs.sh b/nginx/sites-available/generate_certs.sh deleted file mode 100755 index 6699e42..0000000 --- a/nginx/sites-available/generate_certs.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash - -# ============================================================================== -# SCRIPT DE GERAÇÃO DE CERTIFICADOS SSL EM LOTE -# -# Descrição: Este script automatiza a obtenção de certificados Let's Encrypt -# para todos os sites configurados no Nginx. -# ============================================================================== - -# --- Variáveis de Configuração --- -SITES_DIR="/etc/nginx/sites-available" -# Use um email válido para as notificações do Let's Encrypt -ADMIN_EMAIL="operacoes@itguys.com.br" - -# --- Funções de Ajuda --- -info() { echo -e "\e[32m[INFO]\e[0m $1"; } -error() { echo -e "\e[31m[ERRO]\e[0m $1"; } -warn() { echo -e "\e[33m[AVISO]\e[0m $1"; } - -# --- Início da Execução --- -info "Iniciando o processo de geração de certificados para os sites em ${SITES_DIR}..." - -if [ "$EUID" -ne 0 ]; then - error "Este script precisa de ser executado como root." -fi - -# Arrays para guardar os resultados -SUCCESS_SITES=() -FAILED_SITES=() - -# Percorre cada ficheiro de configuração no diretório de sites disponíveis. -for file in "$SITES_DIR"/*.conf; do - # Verifica se é um ficheiro regular. - if [[ ! -f "$file" ]]; then - continue - fi - - echo "" - info "----------------------------------------------------------------------" - info "A processar o ficheiro: $(basename "$file")" - info "----------------------------------------------------------------------" - - # Extrai todos os server_names do ficheiro, ignorando os comentados. - # Esta regex lida com múltiplas linhas de server_name e múltiplos domínios por linha. - DOMAINS=$(grep -v '^\s*#' "$file" | grep "server_name" | sed 's/server_name//' | sed 's/;//' | xargs) - - # Se não encontrar nenhum server_name, salta para o próximo ficheiro. - if [ -z "$DOMAINS" ]; then - warn "Nenhum 'server_name' encontrado em $file. A ignorar." - continue - fi - - # Constrói a lista de argumentos '-d' para o Certbot. - CERTBOT_DOMAIN_ARGS="" - for domain in $DOMAINS; do - CERTBOT_DOMAIN_ARGS+=" -d $domain" - done - - info "Domínios encontrados: $DOMAINS" - info "A executar o Certbot..." - - # Executa o Certbot. - # O comando 'if' verifica o código de saída do Certbot para saber se foi bem-sucedido. - if sudo certbot --nginx --non-interactive --agree-tos --no-eff-email --redirect ${CERTBOT_DOMAIN_ARGS} -m "$ADMIN_EMAIL"; then - info "Certificado para os domínios em $(basename "$file") gerado com sucesso!" - SUCCESS_SITES+=("$(basename "$file")") - else - error "Falha ao gerar o certificado para os domínios em $(basename "$file")." - FAILED_SITES+=("$(basename "$file")") - fi -done - -# --- Relatório Final --- -echo "" -echo "======================================================================" -echo " RELATÓRIO FINAL DE GERAÇÃO DE CERTIFICADOS" -echo "======================================================================" -echo "" - -if [ ${#SUCCESS_SITES[@]} -ne 0 ]; then - info "Certificados gerados com SUCESSO para:" - for site in "${SUCCESS_SITES[@]}"; do - echo " - $site" - done -fi - -echo "" - -if [ ${#FAILED_SITES[@]} -ne 0 ]; then - error "FALHA ao gerar certificados para:" - for site in "${FAILED_SITES[@]}"; do - echo " - $site" - done - warn "Verifique se os registos de DNS para os domínios acima estão a apontar corretamente para este servidor e tente novamente." -else - info "Todos os certificados foram gerados sem erros!" -fi - -echo "" -info "Processo concluído."