#!/usr/bin/env bash trap 'exit 130' INT # Confirmation prompt while true; do read -r -p "Would you like to Update phpMyAdmin? [Y/n] " input case $input in [yY][eE][sS]|[yY]) break ;; [nN][oO]|[nN]) echo "phpMyAdmin update aborted." exit 0 ;; *) echo "That wasn't an option..." ;; esac done # Dependency check if ! command -v curl &>/dev/null; then echo "Installing curl..." sudo apt install -y curl fi # Update process echo "Updating phpMyAdmin..." sudo apt update && sudo apt upgrade -y sudo rm -rf /usr/share/phpmyadmin.bak sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak sudo mkdir /usr/share/phpmyadmin/ sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz -P /usr/share/phpmyadmin/ sudo tar -xzf /usr/share/phpmyadmin/*.tar.gz -C /usr/share/phpmyadmin/ sudo mv /usr/share/phpmyadmin/phpMyAdmin-*-all-languages/* /usr/share/phpmyadmin sudo mkdir /usr/share/phpmyadmin/tmp/ && sudo chmod -R 777 /usr/share/phpmyadmin/tmp/ randomBlowfishSecret=$(openssl rand -base64 22) sudo sed -i "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php sudo mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php sudo systemctl restart apache2 nginx # Completion message echo -e "==================================================================" echo "phpMyAdmin has been updated!" echo -e "=================================================================="