From a00abc27323fe38288e9184e9c0dda50f810b5c7 Mon Sep 17 00:00:00 2001 From: Conan_Doyl Date: Wed, 15 Jul 2020 11:31:16 +0200 Subject: [PATCH] Debian 9/10 Support added --- lamp-headless.sh | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) diff --git a/lamp-headless.sh b/lamp-headless.sh index e69de29..94758d0 100644 --- a/lamp-headless.sh +++ b/lamp-headless.sh @@ -0,0 +1,188 @@ +#!/bin/bash + +DBPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) +DBUSER=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1) +ADMINPASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) +PHPMYADMINV = "5.0.2" +VAR_A=`uname -m` +mkdir /home/tmp + +cd "/home/tmp" + +show_spinner() +{ + spin='-\|/' + + i=0 + while kill -0 $1 2>/dev/null + do + i=$(( (i+1) %4 )) + printf "\r\e[93m[ \e[36m${spin:$i:1} \e[93m] \e[93mPlease wait...\e[39m" + sleep .1 + done +} + + +clean_up(){ + +} + +install_Debian9(){ + echo -e "\n\e[92mInstalling requirements...\e[39m" + apt-get install --yes --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" sudo + apt-get install -y zip unzip curl wget gnupg2 ca-certificates lsb-release apt-transport-https >/dev/null & + show_spinner $! + + echo -e "\n\e[92mInstalling public key & source list...\e[39m" + wget -q -N https://packages.sury.org/php/apt.gpg + apt-key add apt.gpg + + echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list + apt-get update >/dev/null & + show_spinner $! + + echo -e "\n\e[92mInstalling PHP...\e[39m" + apt-get install -y php7.3 php7.3-cli php7.3-common >/dev/null & + show_spinner $! + + echo -e "\n\e[92mInstalling Apache2 and MariaDB-Server..\e[39m" + apt-get install -y apache2 mariadb-server libapache2-mod-php7.4 >/dev/null & + show_spinner $! + + echo -e "\n\e[92mInstallation PHP extentions...\e[39m" + apt-get install -y php7.3-fileinfo php7.3-bz2 php7.3-intl php7.3-ldap php7.3-smbclient php7.3-imap php7.3-bcmath php7.3-gmp php7.3-mysql php7.3-dom php7.3-simplexml php7.3-ssh2 php7.3-xml php7.3-xmlreader php7.3-curl php7.3-xmlwriter php7.3-zip php7.3-exif php7.3-ftp php7.3-gd php7.3-iconv php7.3-imagick php7.3-json php7.3-mbstring php7.3-posix php7.3-sockets php7.3-tokenizer >/dev/null & + show_spinner $! + + echo -e "\n\e[92mDownloading PHPMyAdmin..\e[39m" + wget -N "https://files.phpmyadmin.net/phpMyAdmin/$PHPMYADMINV/phpMyAdmin-$PHPMYADMINV-all-languages.zip" >/dev/null & + show_spinner $! + unzip -o phpMyAdmin-$PHPMYADMINV-all-languages.zip >/dev/null & + show_spinner $! + mv phpMyAdmin-$PHPMYADMINV-all-languages /usr/share/phpmyadmin + chmod -R 0755 /usr/share/phpmyadmin + wget -N "https://backup.mirror3.deinserverhost.icu/OneClick/phpmyadmin.conf" + mv phpmyadmin.conf /etc/apache2/conf-available/ + a2enconf phpmyadmin + systemctl reload apache2 + mkdir /usr/share/phpmyadmin/tmp/ + chown -R www-data:www-data /usr/share/phpmyadmin/tmp/ + + echo -e "\n\e[92mConfiguring MariaDB...\e[39m" + echo "CREATE USER '$DBUSER'@'localhost' IDENTIFIED BY '$DBPASS'; + CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; + GRANT ALL PRIVILEGES ON nextcloud.* TO '$DBUSER'@'localhost'; + FLUSH PRIVILEGES;" > /home/LAMP.sql + + mysql -u root < /home/LAMP.sql + rm /home/LAMP.sql + service apache2 restart + OWNIP = curl ifconfig.me + + + echo -e "\n\e[92mWriting login details into file...\e[39m" + echo -e "\n + ########## Phpmyadmin ##########\n + # http://$OWNIP/phpmyadmin/ + # Username: admin \n + # Password: $ADMINPASS \n + ########## ## END ## ##########\n + \n + ########## MySQL ##########\n + # Username: $DBUSER \n + # Password: $DBPASS \n + ########## END ##########\n" > /home/LAMP-Login-Details-README.txt + echo -e "\n\e[92mLogin details written to \e[93m/home/LAMP-Login-Details-README.txt \e[39m" +} + + + + + +i=0 +tput sc +while fuser /var/{lib/{dpkg,apt/lists},cache/apt/archives}/lock >/dev/null 2>&1 ; do + case $(($i % 4)) in + 0 ) j="-" ;; + 1 ) j="\\" ;; + 2 ) j="|" ;; + 3 ) j="/" ;; + esac + tput rc + echo -en "\r[$j] \e[93mWaiting for another process to finish...\e[39m" + sleep 0.5 + ((i=i+1)) +done + +echo -e "\n\e[92mPackage manager is done\e[39m" +echo -e "\e[36mPreparing LAMP installation..\e[39m" +echo -e "\e[36mChecking Operation system..\e[39m" + + +# CHECK OS +if [ "$VAR_A" = "x86_64" ]; then + check=`cat /etc/issue | grep -i 'Debian'` + if [ -n "$check" ]; then + apt-get update >/dev/null & + show_spinner $! + version=`cat /etc/debian_version | awk -F. '{print $1}'` + + if [ $version -eq 10 ]; then + #Debian 10 + echo -e "\nDebian $version\e[39m" + install_Debian9 # Currently it also works for Debian 10 + clean_up + + elif [ $version -eq 9 ]; then + #Debian 9 Check + echo -e "\nDebian $version\e[39m" + install_Debian9 + clean_up + + + + elif [ $version -eq 8 ]; then + #Debian 8 Check + echo "Debian $version\e[39m" + + + fi + fi + #Debian Check End + + + #Ubuntu + check=`cat /etc/issue | grep -i 'Ubuntu'` + if [ -n "$check" ]; then + apt-get update >/dev/null & + show_spinner $! + version=`lsb_release -sr | awk -F. '{print $1}'` + if [ $version -eq 20 ]; then + #Ubuntu 20 + echo "Ubuntu $version" + + elif [ $version -eq 18 ]; then + #Ubuntu 18 + echo "Ubuntu $version" + + elif [ $version -eq 16 ]; then + #Ubuntu 16 + echo "Ubuntu $version" + + fi + + + fi + + + #CentOS + check=`cat /etc/issue | grep -i 'CentOS'` + if [ -n "$check" ]; then + echo "CentOS is not supported yet" + fi + + +fi + + + +echo -e "\e[39mEverything is done.\e[39m" \ No newline at end of file