#!/bin/bash

###############################################################################
# Fix phpMyAdmin Access Issues
# Run this on: NEW server (vps2.scala4.com)
###############################################################################

echo "=========================================="
echo "Troubleshooting phpMyAdmin Access"
echo "=========================================="
echo ""

# Check if running as root
if [ "$EUID" -ne 0 ]; then 
    echo "ERROR: Please run as root (use sudo)"
    exit 1
fi

# Check 1: Is phpMyAdmin installed?
echo "1. Checking if phpMyAdmin is installed..."
if dpkg -l | grep -q phpmyadmin; then
    echo "✓ phpMyAdmin is installed"
else
    echo "✗ phpMyAdmin is NOT installed"
    echo "  Run: apt-get install -y phpmyadmin"
    exit 1
fi
echo ""

# Check 2: Is it accessible via file system?
echo "2. Checking phpMyAdmin location..."
if [ -d "/usr/share/phpmyadmin" ]; then
    echo "✓ Found: /usr/share/phpmyadmin"
else
    echo "✗ /usr/share/phpmyadmin not found"
fi
echo ""

# Check 3: Is there a web-accessible symlink?
echo "3. Checking web access..."
if [ -L "/var/www/html/phpmyadmin" ] || [ -d "/var/www/html/phpmyadmin" ]; then
    echo "✓ Found: /var/www/html/phpmyadmin"
    ls -la /var/www/html/phpmyadmin | head -3
else
    echo "✗ /var/www/html/phpmyadmin not found"
    echo "  Creating symlink..."
    ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
    chown -R www-data:www-data /var/www/html/phpmyadmin
    echo "✓ Symlink created"
fi
echo ""

# Check 4: Apache configuration
echo "4. Checking Apache configuration..."
if [ -f "/etc/apache2/conf-available/phpmyadmin.conf" ]; then
    echo "✓ phpMyAdmin Apache config found"
    if [ -L "/etc/apache2/conf-enabled/phpmyadmin.conf" ]; then
        echo "✓ phpMyAdmin Apache config enabled"
    else
        echo "⚠ phpMyAdmin config not enabled"
        echo "  Enabling..."
        a2enconf phpmyadmin
        systemctl reload apache2
        echo "✓ Enabled and Apache reloaded"
    fi
else
    echo "⚠ phpMyAdmin Apache config not found"
fi
echo ""

# Check 5: Apache status
echo "5. Checking Apache status..."
if systemctl is-active --quiet apache2; then
    echo "✓ Apache is running"
else
    echo "✗ Apache is NOT running"
    echo "  Starting Apache..."
    systemctl start apache2
fi
echo ""

# Check 6: Test access
echo "6. Testing access..."
SERVER_IP=$(hostname -I | awk '{print $1}')
echo "Try accessing:"
echo "  http://$SERVER_IP/phpmyadmin"
echo "  https://$SERVER_IP/phpmyadmin"
echo "  http://vps2.scala4.com/phpmyadmin"
echo "  https://vps2.scala4.com/phpmyadmin"
echo ""

# Check 7: Check for errors
echo "7. Checking Apache error log..."
if tail -20 /var/log/apache2/error.log | grep -i phpmyadmin; then
    echo "⚠ Found phpMyAdmin errors in log:"
    tail -20 /var/log/apache2/error.log | grep -i phpmyadmin
else
    echo "✓ No phpMyAdmin errors in recent log"
fi
echo ""

# Check 8: Permissions
echo "8. Checking permissions..."
if [ -L "/var/www/html/phpmyadmin" ]; then
    TARGET=$(readlink -f /var/www/html/phpmyadmin)
    echo "Symlink target: $TARGET"
    if [ -d "$TARGET" ]; then
        ls -ld "$TARGET" | head -1
    fi
fi
echo ""

echo "=========================================="
echo "Summary"
echo "=========================================="
echo ""
echo "If still not working, try:"
echo "1. Check Apache error log: tail -f /var/log/apache2/error.log"
echo "2. Check if mod_rewrite is enabled: a2enmod rewrite"
echo "3. Try accessing via IP instead of domain"
echo "4. Check firewall: ufw status"
echo ""



