#!/bin/bash set -e RED='\033[0;31m' YELLOW='\033[1;33m' GREEN='\033[0;32m' LIGHT_BLUE='\033[1;34m' NC='\033[0m' prompt() { local PROMPT_MESSAGE=$1 local DEFAULT_VALUE=$2 read -p "$PROMPT_MESSAGE [$DEFAULT_VALUE]: " INPUT echo "${INPUT:-$DEFAULT_VALUE}" } confirm_clean_install() { echo -e "${LIGHT_BLUE}=================================================================${NC}" echo -e "${LIGHT_BLUE} phpMyAdmin Panel Installer v4.0 by VS-Shop${NC}" echo -e "${LIGHT_BLUE}=================================================================${NC}" echo -e "${YELLOW}This installation script requires a clean installation of Ubuntu 22.04.${NC}" echo -e "${YELLOW}If you believe this is a clean installation, please confirm by replying 'Y(es)'.${NC}" echo -e "${YELLOW}If it is not a clean installation, please reply 'N(o)' and reinstall the operating system.${NC}" echo -e "${LIGHT_BLUE}=================================================================${NC}" while true; do read -p "Is this a clean installation of Ubuntu 22.04? (Y/N): " response case $response in [Yy]* ) break;; [Nn]* ) echo -e "${RED}Please reinstall Ubuntu 22.04 and run the script again.${NC}"; exit;; * ) echo -e "${RED}Please answer with 'Y' (Yes) or 'N' (No).${NC}";; esac done } confirm_clean_install echo -e "${YELLOW}Updating system...${NC}\n" sudo apt update && sudo apt upgrade -y echo -e "${YELLOW}Installing required packages...${NC}\n" sudo apt install -y apache2 mysql-server php php-mysql phpmyadmin echo -e "${YELLOW}Configuring phpMyAdmin...${NC}\n" sudo phpenmod mysqli sudo service apache2 restart MYSQL_ROOT_PASSWORD=$(prompt "Enter a password for MySQL root user" "root") echo -e "${YELLOW}Changing MySQL root authentication method to mysql_native_password...${NC}" sudo mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PASSWORD';" 2>/dev/null sudo mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "FLUSH PRIVILEGES;" 2>/dev/null sleep 2 echo -e "${YELLOW}Configuring phpMyAdmin...${NC}" sudo sed -i "s/127.0.0.1/localhost/" /etc/phpmyadmin/config.inc.php SERVER_IP=$(hostname -I | awk '{for (i=1; i<=NF; i++) if ($i != "127.0.0.1") {print $i; exit}}') if [ $? -eq 0 ]; then echo -e "${GREEN}phpMyAdmin was installed succesfully, and MySQL root password with authentication method updated! Your phpMyAdmin Access http://$SERVER_IP/phpmyadmin${NC}" else echo -e "${RED}There was an error updating the MySQL root password.${NC}" fi