Files
CyberPanel/fix-phpmyadmin.sh
master3395 0ba2cf201d Fix phpMyAdmin for install/upgrade on v2.5.5-dev
- versionFetcher: normalize RELEASE_5_2_3 -> 5.2.3 for phpMyAdmin tags
- upgrade: verify tarball size after download; chown lscpd at end of phpMyAdmin install
- install: same glob-based extract + verify; check tarball size
- fix-phpmyadmin.sh: one-off script to install/fix phpMyAdmin on server (404 fix)
2026-02-15 03:27:33 +01:00

47 lines
1.4 KiB
Bash

#!/bin/bash
# Fix phpMyAdmin 404 after upgrade. Run as root on the panel server.
# Usage: sudo bash fix-phpmyadmin.sh
# Then open https://YOUR_IP:2087/phpmyadmin/ (or from Databases -> phpMyAdmin in the panel).
set -e
CP="${CP:-/usr/local/CyberCP}"
PUBLIC="$CP/public"
PYTHON="${PYTHON:-$CP/bin/python}"
if [[ $(id -u) -ne 0 ]]; then
echo "Run as root: sudo bash $0"
exit 1
fi
echo "Ensuring $PUBLIC exists..."
mkdir -p "$PUBLIC"
if [[ ! -x "$PYTHON" ]]; then
PYTHON=$(which python3 2>/dev/null || which python2 2>/dev/null || true)
fi
if [[ -z "$PYTHON" ]]; then
echo "ERROR: No Python found. Install phpMyAdmin manually or fix panel Python."
exit 1
fi
echo "Installing phpMyAdmin via panel upgrade module..."
export DJANGO_SETTINGS_MODULE=CyberCP.settings
"$PYTHON" -c "
import sys
sys.path.insert(0, '$CP')
from plogical.upgrade import Upgrade
Upgrade.download_install_phpmyadmin()
" 2>&1 || true
if [[ -d "$PUBLIC/phpmyadmin" ]]; then
echo "Setting ownership to lscpd:lscpd..."
chown -R lscpd:lscpd "$PUBLIC/phpmyadmin" 2>/dev/null || true
chmod 755 "$PUBLIC/phpmyadmin"
chmod 755 "$PUBLIC/phpmyadmin/tmp" 2>/dev/null || true
echo "Done. phpMyAdmin is at $PUBLIC/phpmyadmin"
echo "Test: https://YOUR_IP:2087/phpmyadmin/ (or use the panel Databases -> phpMyAdmin link)"
else
echo "WARNING: $PUBLIC/phpmyadmin was not created. Check logs above."
exit 1
fi