########################### # MySQL 8.0 Installer # ########################### ##-----------------## # Defining Vars # ##-----------------## #Enforcing Legacy Mode if [ -z ${OUTPUT+x} ]; then OUTPUT='/dev/tty' ; fi if [ -z ${IMODE+x} ]; then IMODE=l ; fi #PackageManager-config dist_ver=$(grep --color=never -Po "^VERSION_ID=\K.*" "/etc/os-release") dist=$(grep --color=never -Po "^ID=\K.*" "/etc/os-release") if [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"18.04"* ]]; then echo "Ubuntu 18.04 Detected" PKGM="$APTMODE" PKGI="${PKGM} install -y --no-install-recommends" PKGLIST="apt.pkg.list" shortdist=ubu1804 elif [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"20.04"* ]]; then echo "Ubuntu 20.04 Detected" PKGM="$APTMODE" PKGI="${PKGM} install -y --no-install-recommends" PKGLIST="apt.pkg.list" echo "This os in not supported" exit shortdist=ubu2004 elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"10"* ]]; then echo "Debian 10 Detected" PKGM="$APTMODE" PKGI="${PKGM} install -y --no-install-recommends" PKGLIST="apt.pkg.list" shortdist=deb10 echo "This os in not supported" exit elif [[ "${dist}" == *"centos"* ]] && [[ "${dist_ver}" == *"8"* ]]; then echo "Centos 8 Detected" PKGM="dnf" PKGI="${PKGM} install --setopt=install_weak_deps=False --best -y" PKGLIST="dnf.pkg.list" shortdist=cent8 echo "This os in not supported" exit else echo "This os in not supported" exit fi unset dist_ver dist APTMODE #Repo Vars mrepo=https://git.ictmaatwerk.com/VPS-scripts/MySQL mbranch=master ###Select Module type mtype=""$mrepo"/raw/branch/"$mbranch"" #SelfBuilding Vars if [ -z ${PKGI+x} ]; then PKGI="${PKGM} install -y" ; fi ##---------------## # Functions # ##---------------## msg () { echo "$1" } ##--------------------------## # Installer-Requirements # ##--------------------------## msg "Starting installer." 8 78 $PKGM update -y > $OUTPUT 2>&1 $PKGI curl > $OUTPUT 2>&1 ##-------------------------## # Generating APT list # ##-------------------------## #Webserver specific aptList if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/generic.pkg.list; then curl "$mtype"/generic.pkg.list >>/tmp/pkg.list fi ##--------------------## # Pre-Requirements # ##--------------------## msg "Preconfiguring." $PKGI software-properties-common gnupg > $OUTPUT 2>&1 $PKGM update -y $PKGM upgrade -y ##-------------------## # Pre-configuring # ##-------------------## if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/preconf.sh; then source <(curl --retry 7 --retry-delay 5 -s "$mtype"/preconf.sh) fi ##-------------## # Installer # ##-------------## $PKGM update sed -i 's/PHPver/'$phpver'/g' /tmp/pkg.list cat /tmp/pkg.list | xargs $PKGI ##---------------## # Configuring # ##---------------## if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/conf.sh; then source <(curl --retry 7 --retry-delay 5 -s "$mtype"/conf.sh) fi ##-------## # end # ##-------## msg "done"