#!/usr/bin/env bash while true do read -r -p "Would you like to install phpMyAdmin? [Y/n] " input case $input in [yY][eE][sS]|[yY]) break ;; [nN][oO]|[nN]) break ;; *) echo "That wasn't an option..." ;; esac done while [ "$go" != 'apache' ] && [ "$go" != 'nginx' ]; do read -p "Would you like to install using Nginx or Apache? (nginx/apache) " go done if [ "$go" == 'nginx' ]; then PHP_VER="8.2" sudo apt update && apt upgrade -y sudo apt-get install build-essential lsb-release software-properties-common -y sudo add-apt-repository --yes ppa:ondrej/php && sudo apt install php$PHP_VER-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl nginx-full -y sudo systemctl stop nginx sudo wget -O /etc/nginx/conf.d/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmanginx.conf sudo systemctl enable nginx sudo systemctl start nginx ## Updating phpMyAdmin. PMA_VER="5.2.1" sudo rm -rf /usr/share/phpmyadmin.bak sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak sudo mkdir /usr/share/phpmyadmin/ sudo wget https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -P /usr/share/phpmyadmin/ sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/ sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/ sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz ## Thanks https://stackoverflow.com/users/3266847/benjamin-w randomBlowfishSecret=$(openssl rand -base64 22) sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php sudo systemctl restart nginx sudo ufw allow 8080 echo -e "==================================================================" publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org ) intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1) echo "phpMyAdmin Should be available at http://${intenalip}:8080" echo "Or If you are using a VPS at http://${publicipaddress}:8080" echo -e "==================================================================" fi if [ "$go" == 'apache' ]; then PHP_VER="8.2" sudo apt update && apt upgrade -y sudo apt-get install build-essential lsb-release software-properties-common -y sudo add-apt-repository --yes ppa:ondrej/php && apt install apache2 libapache2-mod-php$PHP_VER php$PHP_VER-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl -y sudo systemctl stop apache2 sudo wget -O /etc/apache2/sites-enabled/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmaapache.conf sudo systemctl restart php$PHP_VER-fpm sudo systemctl reload apache2 sudo systemctl enable apache2 ## Updating phpMyAdmin. PMA_VER="5.2.1" sudo rm -rf /usr/share/phpmyadmin.bak sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak sudo mkdir /usr/share/phpmyadmin/ sudo wget https://files.phpmyadmin.net/phpMyAdmin/$PMA_VER/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -P /usr/share/phpmyadmin/ sudo tar xzf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz -C /usr/share/phpmyadmin/ sudo mv /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages/* /usr/share/phpmyadmin sudo mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/ sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages /usr/share/phpmyadmin/phpMyAdmin-"$PMA_VER"-all-languages.tar.gz ## Thanks https://stackoverflow.com/users/3266847/benjamin-w randomBlowfishSecret=$(openssl rand -base64 22) sudo sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php sudo systemctl restart apache2 sudo ufw allow 8080 echo -e "==================================================================" publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org ) intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1) echo "phpMyAdmin Should be available at http://${intenalip}:8080" echo "Or If you are using a VPS at http://${publicipaddress}:8080" echo -e "==================================================================" fi