diff --git a/nginx/sites-available/apply_errors_globally.sh b/nginx/sites-available/apply_errors_globally.sh deleted file mode 100755 index e959f2c..0000000 --- a/nginx/sites-available/apply_errors_globally.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -# ============================================================================== -# SCRIPT PARA ADICIONAR O SNIPPET DE ERROS PERSONALIZADOS (VERSÃO ROBUSTA) -# -# Descrição: Este script percorre todos os ficheiros de configuração de site -# e adiciona a diretiva 'include' para o snippet de erros -# nos blocos de servidor HTTPS (porta 443). -# ============================================================================== - -set -e - -# --- Variáveis de Configuração --- -SITES_DIR="/etc/nginx/sites-available" -SNIPPET_PATH="/etc/nginx/snippets/custom_errors.conf" -SNIPPET_LINE=" include ${SNIPPET_PATH}; # Carrega as páginas de erro personalizadas" -# Ponto de referência estável para a inserção da linha. -ANCHOR_LINE="server_name" - -# --- Funções de Ajuda --- -info() { echo -e "\e[32m[INFO]\e[0m $1"; } -warn() { echo -e "\e[33m[AVISO]\e[0m $1"; } - -# --- Início da Execução --- -info "Iniciando o processo de adição do snippet de erros..." - -if [ "$EUID" -ne 0 ]; then - echo "ERRO: Este script precisa de ser executado como root." >&2 - exit 1 -fi - -if [ ! -f "$SNIPPET_PATH" ]; then - echo "ERRO: O ficheiro do snippet '${SNIPPET_PATH}' não foi encontrado." >&2 - exit 1 -fi - -# Percorre cada ficheiro .conf 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 - - # Verifica se o ficheiro contém um bloco de servidor HTTPS. - if grep -q "listen 443 ssl" "$file"; then - # Verifica se a linha do snippet JÁ NÃO EXISTE para evitar duplicação. - if ! grep -q "include ${SNIPPET_PATH};" "$file"; then - info "A adicionar o snippet de erros a: $(basename "$file")" - # Usa 'sed' para inserir a nossa linha de include logo após a primeira - # ocorrência da linha que contém 'server_name'. - sudo sed -i "/${ANCHOR_LINE}/a ${SNIPPET_LINE}" "$file" - else - warn "O snippet já existe em $(basename "$file"). A ignorar." - fi - fi -done - -echo "" -info "Processo concluído!" -info "Por favor, teste a sua nova configuração com 'sudo nginx -t' e depois recarregue com 'sudo systemctl reload nginx'."