#!/bin/bash
# Parte root: Apache vhost, hosts, cron.d, credenziali /root
# Prerequisito: bash install-idroservice.sh già eseguito.
#
#   sudo bash /var/www/html/server-ops/mypantarei/install-idroservice-root-finish.sh

set -euo pipefail

if [[ "$(id -u)" -ne 0 ]]; then
	echo "Eseguire come root: sudo bash $0" >&2
	exit 1
fi

VTE_ROOT=/var/www/html/idroservice
HOST=vte.idro-service.mypantarei.net
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
APACHE_SRC=/var/www/html/vte2472/scripts
ENV_FILE="${SCRIPT_DIR}/idroservice-install.env"

if [[ ! -f "${VTE_ROOT}/config.inc.php" ]]; then
	echo "Prima esegui: bash ${SCRIPT_DIR}/install-idroservice.sh" >&2
	exit 1
fi

# shellcheck disable=SC1090
source "$ENV_FILE"

echo "=== Apache ==="
cp -a "${APACHE_SRC}/apache_idroservice.conf" /etc/apache2/sites-available/idroservice.conf
cp -a "${APACHE_SRC}/apache_idroservice-le-ssl.conf" /etc/apache2/sites-available/idroservice-le-ssl.conf
if ! grep -q "vte.idro-service.mypantarei.net" /etc/hosts; then
	echo "127.0.0.1 vte.idro-service.mypantarei.net www.vte.idro-service.mypantarei.net" >> /etc/hosts
fi
a2ensite idroservice.conf
apache2ctl configtest
systemctl reload apache2

echo "=== Permessi www-data ==="
chown -R www-data:www-data "$VTE_ROOT"
find "$VTE_ROOT" -type d -exec chmod 775 {} \;
find "$VTE_ROOT" -type f -exec chmod 664 {} \;
chmod +x "${VTE_ROOT}/cron/"*.sh "${VTE_ROOT}/vteUpdater.sh" 2>/dev/null || true

echo "=== Cron di sistema ==="
cat >/etc/cron.d/idroservice <<EOF
# VTENEXT idroservice
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * * www-data USE_PHP=php8.3 ${VTE_ROOT}/cron/RunCron.sh >> ${VTE_ROOT}/logs/cron.log 2>&1
EOF
chmod 644 /etc/cron.d/idroservice

echo "=== Credenziali root ==="
cat >/root/.idroservice-db.cnf <<EOF
[client]
user=${DB_USER}
password=${DB_PASS}
database=${DB_NAME}
EOF
chmod 600 /root/.idroservice-db.cnf

touch "${VTE_ROOT}/.install-idroservice-apache-done"
chown www-data:www-data "${VTE_ROOT}/.install-idroservice-apache-done"

echo "Fatto. URL: http://${HOST}"
echo "SSL dopo DNS: vedi ${SCRIPT_DIR}/SSL-IDROSERVICE.md"
