179 lines
4.2 KiB
Bash
179 lines
4.2 KiB
Bash
#############################
|
|
# MonitModuleInstaller #
|
|
#############################
|
|
|
|
|
|
##-----------------##
|
|
# Defining Vars #
|
|
##-----------------##
|
|
#Enforcing Legacy Mode
|
|
APTMODE="apt"
|
|
OUTPUT='/dev/tty'
|
|
IMODE=l
|
|
|
|
|
|
##-----------------##
|
|
# Fetching Vars #
|
|
##-----------------##
|
|
|
|
VarError () {
|
|
while true; do
|
|
echo ""
|
|
read -p "Var list $1 not foud, continue without monit for $2? [Y/n]" yn
|
|
case $yn in
|
|
[Yy]* ) break;;
|
|
[Nn]* ) exit;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
}
|
|
|
|
if [ -f "/etc/ICTM/mainvar.list" ] ; then
|
|
source /etc/ICTM/mainvar.list;
|
|
else
|
|
VarError mainvar "Webserver and php"
|
|
#use if system is not setup using Web-V2
|
|
##webserv=nginx
|
|
fi
|
|
|
|
if [ ! -z "$webserv" ]; then
|
|
if [ $webserv != nginx_nonphp ]; then
|
|
if [ "/etc/ICTM/phpvar.list" ] ; then
|
|
source /etc/ICTM/phpvar.list;
|
|
else
|
|
VarError phpvar apache
|
|
#use if system is not setup using Web-V2
|
|
##phpver=8.0
|
|
##phpFPMService=php8.0-fpm
|
|
fi
|
|
source /etc/ICTM/phpvar.list
|
|
fi
|
|
if [ $webserv = apache ]; then
|
|
if [ -f "/etc/ICTM/apachevar.list" ] ; then
|
|
source /etc/ICTM/apachevar.list
|
|
else
|
|
VarError apachevar apache
|
|
#use if system is not setup using Web-V2
|
|
##apacheService=apache2
|
|
fi
|
|
fi
|
|
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
|
|
PKGM="$APTMODE"
|
|
PKGUC="$PKGM update"
|
|
PKGUP="$PKGM upgrade -y"
|
|
PKGI="${PKGM} install -y --no-install-recommends"
|
|
PKGLIST="apt"
|
|
shortdist=ubu1804
|
|
elif [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"20.04"* ]]; then
|
|
PKGM="$APTMODE"
|
|
PKGUC="$PKGM update"
|
|
PKGUP="$PKGM upgrade -y"
|
|
PKGI="${PKGM} install -y --no-install-recommends"
|
|
PKGLIST="apt"
|
|
shortdist=ubu2004
|
|
elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"10"* ]]; then
|
|
PKGM="$APTMODE"
|
|
PKGUC="$PKGM update"
|
|
PKGUP="$PKGM upgrade -y"
|
|
PKGI="${PKGM} install -y --no-install-recommends"
|
|
PKGLIST="apt"
|
|
shortdist=deb10
|
|
elif [[ "${dist}" == *"centos"* ]] && [[ "${dist_ver}" == *"8"* ]]; then
|
|
PKGM="dnf"
|
|
PKGUC="$PKGM check-update --refresh"
|
|
PKGUP="$PKGM update -y"
|
|
PKGI="${PKGM} install --setopt=install_weak_deps=False --best -y"
|
|
PKGLIST="dnf"
|
|
shortdist=el8
|
|
else
|
|
echo "This os in not (yet) supported"
|
|
exit
|
|
fi
|
|
|
|
unset dist_ver dist APTMODE
|
|
|
|
|
|
#Repo Vars
|
|
repo=https://git.ictmaatwerk.com/VPS-scripts/Monit
|
|
branch=main
|
|
branchtype=branch
|
|
|
|
#SelfBuilding Vars
|
|
mtype=""$repo"/raw/"$branchtype"/"$branch""
|
|
|
|
|
|
##---------------##
|
|
# Functions #
|
|
##---------------##
|
|
|
|
msg () {
|
|
echo "$1"
|
|
}
|
|
|
|
##--------------------------##
|
|
# Installer-Requirements #
|
|
##--------------------------##
|
|
|
|
msg " Starting installer" 8 78
|
|
$PKGUC > $OUTPUT 2>&1
|
|
$PKGI curl > $OUTPUT 2>&1
|
|
|
|
|
|
##-------------------------##
|
|
# Generating APT list #
|
|
##-------------------------##
|
|
#General 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
|
|
if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/"$PKGLIST".pkg.list; then
|
|
curl "$mtype"/"$PKGLIST".pkg.list >>/tmp/pkg.list
|
|
fi
|
|
|
|
##--------------------##
|
|
# Pre-Requirements #
|
|
##--------------------##
|
|
|
|
msg " Preconfiguring"
|
|
curl --retry 7 --retry-delay 5 -s https://git.ictmaatwerk.com/VPS-scripts/General/raw/branch/Main/Setup-Repo.sh |repo=init osrel=$shortdist bash > $OUTPUT 2>&1
|
|
$PKGUC
|
|
$PKGUP
|
|
|
|
|
|
##-------------------##
|
|
# 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 #
|
|
##-------------##
|
|
|
|
$PKGUC
|
|
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!"
|