#!/usr/bin/env bash
# Apache-VHost für pro-admintool.de auf rz1 aktivieren.
#
# Wo ausführen: auf rz1 als root
# Wo liegt das Skript: /var/www/cms-update-api/install-apache-vhost-rz1.sh
#   (wird von setup-rz1-from-server2.sh per scp dorthin kopiert)
#
#   sudo bash /var/www/cms-update-api/install-apache-vhost-rz1.sh
#
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CONF_SRC="${SCRIPT_DIR}/pro-admintool-update-api.apache.conf"
if [[ ! -f "$CONF_SRC" ]]; then
	CONF_SRC="/var/www/cms-update-api/pro-admintool-update-api.apache.conf"
fi
SITE_NAME="pro-admintool"
SITE_FILE="/etc/apache2/sites-available/${SITE_NAME}.conf"

if [[ ! -f "$CONF_SRC" ]]; then
	echo "Fehler: $CONF_SRC fehlt." >&2
	exit 1
fi

if [[ "$(id -u)" -ne 0 ]]; then
	echo "Bitte mit sudo ausführen." >&2
	exit 1
fi

echo "=== Apache-VHost: ${SITE_NAME} ==="

mkdir -p /var/www/www.pro-admintool.de/html
if [[ ! -L /var/www/www.pro-admintool.de/html/cms-update-api ]]; then
	echo "Warnung: Symlink fehlt – lege an …"
	ln -sfn /var/www/cms-update-api /var/www/www.pro-admintool.de/html/cms-update-api
fi

cp -f "$CONF_SRC" "$SITE_FILE"
a2ensite "${SITE_NAME}" 2>/dev/null || true
a2dissite 000-default 2>/dev/null || true

for mod in rewrite headers proxy_fcgi setenvif; do
	a2enmod "$mod" 2>/dev/null || true
done

echo ""
apache2ctl configtest

systemctl reload apache2

echo ""
echo "HTTP-Test:"
HTTP_CODE="$(curl -s -o /dev/null -w '%{http_code}' \
	'http://www.pro-admintool.de/cms-update-api/cms-update-api.php?action=status' 2>/dev/null || echo '000')"
echo "  curl http://www.pro-admintool.de/.../cms-update-api.php?action=status → HTTP ${HTTP_CODE}"
if [[ "$HTTP_CODE" == "403" ]]; then
	echo "  OK – API erreichbar (403 ohne Token)."
elif [[ "$HTTP_CODE" == "000" ]]; then
	echo "  Keine Antwort – DNS zeigt auf diesen Server? Apache läuft?"
else
	echo "  Unerwartet – Apache-Error-Log prüfen: tail /var/log/apache2/pro-admintool-error.log"
fi

echo ""
echo "SSL (für RZ9-CMS, URL ist https://):"
echo "  sudo apt install -y certbot python3-certbot-apache"
echo "  sudo certbot --apache -d www.pro-admintool.de -d pro-admintool.de"
echo ""
echo "HTTPS-Test danach:"
echo "  curl -sI 'https://www.pro-admintool.de/cms-update-api/cms-update-api.php?action=status' | head -1"
