forked from Sophia/thelinuxlist
EOL this project :(
This commit is contained in:
@ -1,80 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
trap 'exit 130' INT
|
||||
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
|
||||
|
||||
# Confirmation prompt
|
||||
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])
|
||||
echo "phpMyAdmin installation aborted."
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "That wasn't an option..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Web server selection prompt
|
||||
while [ "$go" != 'apache' ] && [ "$go" != 'nginx' ]; do
|
||||
read -p "Would you like to install using Nginx or Apache? (nginx/apache) " go
|
||||
done
|
||||
|
||||
# Update and upgrade system packages
|
||||
apt update && apt upgrade -y
|
||||
|
||||
# Install dependencies and add repositories
|
||||
apt-get install build-essential lsb-release software-properties-common -y
|
||||
if [ "$go" == 'nginx' ]; then
|
||||
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/nginx && sudo add-apt-repository --yes ppa:ondrej/php && sudo apt install php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl nginx-full php-mysql unzip -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.
|
||||
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.zip -P /usr/share/phpmyadmin/
|
||||
sudo unzip /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.zip -C /usr/share/phpmyadmin/
|
||||
sudo mv /usr/share/phpmyadmin/phpMyAdmin-latest-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-latest-all-languages /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
|
||||
## Thanks https://stackoverflow.com/users/3266847/benjamin-w
|
||||
add-apt-repository --yes ppa:ondrej/nginx
|
||||
add-apt-repository --yes ppa:ondrej/php
|
||||
apt install nginx-full phpmyadmin php-{mbstring,zip,fpm,gd,json,curl,mysql} unzip -y
|
||||
systemctl stop nginx
|
||||
wget -O /etc/nginx/conf.d/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmanginx.conf
|
||||
systemctl enable nginx
|
||||
systemctl start nginx
|
||||
elif [ "$go" == 'apache' ]; then
|
||||
add-apt-repository --yes ppa:ondrej/apache2
|
||||
apt install apache2 libapache2-mod-php phpmyadmin php-{mbstring,zip,fpm,gd,json,curl,mysql} unzip -y
|
||||
systemctl stop apache2
|
||||
wget -O /etc/apache2/sites-enabled/phpmyadmin.conf https://git.oldgate.org/Sophia/thelinuxlist/raw/branch/main/conf/pmaapache.conf
|
||||
systemctl restart php-fpm
|
||||
systemctl reload apache2
|
||||
systemctl enable apache2
|
||||
fi
|
||||
|
||||
# Update phpMyAdmin
|
||||
rm -rf /usr/share/phpmyadmin.bak
|
||||
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
|
||||
mkdir /usr/share/phpmyadmin/
|
||||
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz -P /usr/share/phpmyadmin/
|
||||
tar -xzf /usr/share/phpmyadmin/*.tar.gz -C /usr/share/phpmyadmin/
|
||||
mv /usr/share/phpmyadmin/phpMyAdmin-*-all-languages/* /usr/share/phpmyadmin
|
||||
mkdir /usr/share/phpmyadmin/tmp/ && chmod -R 777 /usr/share/phpmyadmin/tmp/
|
||||
|
||||
# Set random Blowfish secret
|
||||
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
|
||||
sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php
|
||||
|
||||
# Restart web server and allow connections
|
||||
if [ "$go" == 'nginx' ]; then
|
||||
systemctl restart nginx
|
||||
elif [ "$go" == 'apache' ]; then
|
||||
systemctl restart apache2
|
||||
fi
|
||||
ufw allow 8080
|
||||
|
||||
# Display information
|
||||
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"
|
||||
internalip=$(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://${internalip}:8080"
|
||||
echo "Or if you are using a VPS, at http://${publicipaddress}:8080"
|
||||
echo -e "=================================================================="
|
||||
fi
|
||||
if [ "$go" == 'apache' ]; then
|
||||
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/apache2 && apt install apache2 libapache2-mod-php php-fpm software-properties-common phpmyadmin php-mbstring php-zip php-gd php-json php-curl php-mysql unzip -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-fpm
|
||||
sudo systemctl reload apache2
|
||||
sudo systemctl enable apache2
|
||||
## Updating phpMyAdmin.
|
||||
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.zip -P /usr/share/phpmyadmin/
|
||||
sudo unzip /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.zip -C /usr/share/phpmyadmin/
|
||||
sudo mv /usr/share/phpmyadmin/phpMyAdmin-latest-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-latest-all-languages /usr/share/phpmyadmin/phpMyAdmin-latest-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
|
||||
|
Reference in New Issue
Block a user