#!/bin/bash set -e # Detener el script si ocurre un error # Verificar que la variable de entorno IP_SERVER esté configurada if [[ -z "$IP_SERVER" ]]; then echo "ERROR: La variable de entorno IP_SERVER no está configurada." echo "Por favor, exporta IP_SERVER antes de ejecutar este script." exit 1 fi echo "Actualizando paquetes e instalando dependencias..." apt-get update apt-get -y install \ prometheus-node-exporter \ systemd-journal-remote echo "Configurando TLS y copiando certificados..." # Copiar el certificado de la CA a /etc/ssl/certs/ cp CA/certs/ca.crt.pem /etc/ssl/certs/ # Crear un enlace simbólico para el certificado de la CA ln -sf /etc/ssl/certs/ca.crt.pem /etc/ssl/certs/$(openssl x509 -in /etc/ssl/certs/ca.crt.pem -hash -noout).0 # Copiar los certificados del servidor cp CA/certs/ogserver.mytld.crt.pem /etc/ssl/certs/ cp CA/private/ogserver.mytld.key.nopass.pem /etc/ssl/private/ogserver.mytld.key.pem # Asegurar permisos en los archivos de certificados chmod 600 /etc/ssl/private/ogserver.mytld.key.pem chown root:root /etc/ssl/private/ogserver.mytld.key.pem echo "Configurando systemd-journal-upload..." # Modificar el archivo de unidad para que el servicio se ejecute como root sed -i -e '/DynamicUser/s/.*/DynamicUser=no/' /usr/lib/systemd/system/systemd-journal-upload.service sed -i -e '/User/ s/.*/User=root/' /usr/lib/systemd/system/systemd-journal-upload.service # Recargar los servicios de systemd para aplicar los cambios systemctl daemon-reload # Configurar el archivo de configuración de systemd-journal-upload sed -i -e '/URL/ s%.*%URL=https://oglog-jrem.mytld:19532%' /etc/systemd/journal-upload.conf sed -i -e '/ServerKeyFile/ s%.*%ServerKeyFile=/etc/ssl/private/ogserver.mytld.key.pem%' /etc/systemd/journal-upload.conf sed -i -e '/ServerCertificateFile/ s%.*%ServerCertificateFile=/etc/ssl/certs/ogserver.mytld.crt.pem%' /etc/systemd/journal-upload.conf sed -i -e '/TrustedCertificateFile/s%.*%TrustedCertificateFile=/etc/ssl/certs/ca.crt.pem%' /etc/systemd/journal-upload.conf # Habilitar e iniciar el servicio echo "Habilitando y arrancando systemd-journal-upload..." systemctl enable --now systemd-journal-upload # Verificar el estado del servicio systemctl status systemd-journal-upload --no-pager echo "Configuración completada con éxito. Los logs se están enviando al servidor remoto."