#!/bin/bash
# Ripristina phpMyAdmin quando PHP 7.4 FPM non è più attivo (503 su /phpmyadmin/).
# Usa pool PHP 8.3 FPM dedicato (stesso open_basedir del setup Fibbi).
# Esecuzione: sudo bash /var/www/html/server-ops/fibbi/fix-phpmyadmin-php83.sh

set -euo pipefail

if [[ "${EUID:-0}" -ne 0 ]]; then
	echo "Esegui come root: sudo bash $0" >&2
	exit 1
fi

PHP_VER="8.3"
SOCK="/run/php/php${PHP_VER}-fpm-phpmyadmin.sock"

if ! dpkg -l "php${PHP_VER}-fpm" &>/dev/null; then
	echo "[ERR] php${PHP_VER}-fpm non installato." >&2
	exit 1
fi

install -m0644 /dev/stdin "/etc/php/${PHP_VER}/fpm/pool.d/zz-phpmyadmin-fibbi.conf" <<'EOFPM'
; Pool dedicato phpMyAdmin (open_basedir)
[phpmyadmin]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm-phpmyadmin.sock
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 8
chdir = /usr/share/phpmyadmin
php_admin_value[upload_tmp_dir] = /var/lib/phpmyadmin/tmp
php_admin_value[open_basedir] = /usr/share/phpmyadmin/:/usr/share/doc/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/:/usr/share/javascript/
EOFPM

install -m0644 /dev/stdin /etc/apache2/conf-available/phpmyadmin-php83-fpm-fibbi.conf <<EOFA
<Directory /usr/share/phpmyadmin>
	<FilesMatch "\.php$">
		SetHandler "proxy:unix:${SOCK}|fcgi://localhost/"
	</FilesMatch>
</Directory>
EOFA

a2disconf phpmyadmin-php74-fpm-fibbi 2>/dev/null || true
a2enconf phpmyadmin-php83-fpm-fibbi

systemctl restart "php${PHP_VER}-fpm"
apache2ctl configtest
systemctl reload apache2

echo "[OK] phpMyAdmin su PHP ${PHP_VER} — socket ${SOCK}"
curl -sI -o /dev/null -w "HTTP %{http_code}\n" "http://127.0.0.1/phpmyadmin/" || true
