#!/bin/bash set -e . /usr/share/debconf/confmodule restore_config_if_modified() { local new="$1" local backup="$1.bak.upgrade_package" if [ -f "$backup" ]; then if ! cmp -s "$new" "$backup"; then echo ">>> Archivo modificado por el usuario detectado en $new" echo " - Guardando archivo nuevo como ${new}.new" mv -f "$new" "${new}.new" echo " - Restaurando archivo anterior desde backup" mv -f "$backup" "$new" else echo ">>> El archivo $new no ha cambiado desde la última versión, eliminando backup" rm -f "$backup" fi fi } KEA_CTRL_AGENT_CONF="/etc/kea/kea-ctrl-agent.conf" PUBLIC_DIR=/opt/opengnsys/ogdhcp/api/public db_get opengnsys/ogdhcp_interfaces OGDHCP_INTERFACES="$RET" db_get opengnsys/ogdhcp_ip OGDHCP_IP="$RET" db_get opengnsys/ogdhcp_ogbootIP OGBOOT_IP="$RET" # Get PHP version PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') if [ -z "$PHP_VERSION" ]; then echo "Error: No se pudo determinar la versión de PHP." exit 1 fi case "$1" in configure) if [ -z "$2" ]; then echo ">>> Configuración de ogdhcp, realizando instalacion nueva" # Configuración de kea-ctrl-agent echo "Eliminando autenticación de kea-ctrl-agent..." if [ -e "$KEA_CTRL_AGENT_CONF" ]; then dpkg-divert --package ogdhcp --divert "$KEA_CTRL_AGENT_CONF.dpkg-dist" --rename "$KEA_CTRL_AGENT_CONF" cp -a "$KEA_CTRL_AGENT_CONF.dpkg-dist" "$KEA_CTRL_AGENT_CONF" if grep -q '^[^#]*"authentication": {' "$KEA_CTRL_AGENT_CONF"; then sed -i '/"authentication": {/,/^[[:space:]]*},/ { s/^\([[:space:]]*\)\([^#]\)/\1#\2/ }' "$KEA_CTRL_AGENT_CONF" fi fi # Configuración de AppArmor APPARMOR_LOCAL_PROFILE="/etc/apparmor.d/local/usr.sbin.kea-dhcp4" echo "Añadiendo permisos personalizados a AppArmor para kea-dhcp4..." mkdir -p "$(dirname "$APPARMOR_LOCAL_PROFILE")" cat > "$APPARMOR_LOCAL_PROFILE" < "$KEA_CONFIG" <>> Configuración de ogdhcp completada." ;; abort-upgrade|abort-remove|abort-deconfigure) echo ">>> Abortando la configuración de ogdhcp" echo "No se realizaron cambios en la configuración." exit 0 ;; *) echo "postinst called with unknown argument '$1'" >&2 exit 1 ;; esac chown opengnsys:www-data /opt/opengnsys/ chown -R opengnsys:www-data /opt/opengnsys/ogdhcp chown -R _kea:_kea /etc/kea # Reiniciar servicios systemctl daemon-reload systemctl restart nginx || echo "Error al reiniciar nginx" systemctl restart kea-dhcp4-server || echo "Error al reiniciar kea-dhcp4-server" systemctl restart kea-ctrl-agent || echo "Error al reiniciar kea-ctrl-agent" systemctl restart php$PHP_VERSION-fpm || echo "Error al reiniciar php$PHP_VERSION-fpm" exit 0